Method and device for discussing project between users, computer device and storage medium

CN122820149APending Publication Date: 2026-09-25SHENZHEN ZHIHEXING TECHNOLOGY CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202610680905.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-05-18
Publication Date
2026-09-25

AI Technical Summary

Technical Problem

[0005]本申请实施例提供了一种用户之间洽谈项目的方法、装置、计算机设备及存储介质,旨在解决传统方式高度依赖人为因素的模式往往导致项目的研发设计工作质量不高、进度难以控制、研发成本高、工作效率低的问题

Benefits of technology

[0016]本申请实施例提供了一种用户之间洽谈项目的方法、装置、计算机设备及存储介质。所述方法包括:响应于项目进入洽谈阶段的请求,获取待编辑的任务文档,其中,所述待编辑的任务文档包括第一文档和第二文档;响应于对所述第一文档的编辑操作,基于预设的交互式结构化模板,对所述第二文档进行同步更新,得到更新的任务文档;响应于乙方触发的递交指令,将所述更新的任务文档向甲方提交评估请求;获取甲方对所述更新的任务文档的评估结果;响应于评估结果为评估通过,则触发甲方支付项目合作费节点以结束洽谈过程。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122820149A_ABST
    Figure CN122820149A_ABST
Patent Text Reader

Abstract

The application relates to a method and device for discussing a project between users, a computer device and a storage medium. The method comprises the following steps: in response to a request for entering a discussion stage of a project, obtaining a task document to be edited, wherein the task document to be edited comprises a first document and a second document; in response to an editing operation on the first document, synchronously updating the second document based on a preset interactive structured template to obtain an updated task document; in response to a submission instruction triggered by a second party, submitting the updated task document to a first party to request evaluation; obtaining an evaluation result of the first party on the updated task document; and in response to the evaluation result being passed, triggering a payment node of a project cooperation fee of the first party to end the discussion process. The application can realize automatic linkage of project requirements and execution plans, improve data accuracy and collaborative efficiency in the project discussion stage, and realize automatic control and process solidification of project progress.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of project processing technology, and in particular to a method, apparatus, computer equipment, and storage medium for users to negotiate projects. Background Technology

[0002] In traditional project collaboration models, key aspects such as requirements confirmation, cost calculation, and planning primarily rely on direct face-to-face negotiations and communication between the client and the contractor. The two parties establish their cooperative relationship by signing a project cooperation agreement, which serves as the basis for project execution.

[0003] Taking the traditional R&D design process as an example, this process relies heavily on numerous offline meetings and face-to-face discussions. Its core lies in leveraging the practical experience of project leaders and engineers, supplemented by standardized documents such as R&D design management systems and technical guidelines to drive the work forward. This operational model is essentially a "people-centric" system of governance.

[0004] However, due to differences in individual abilities, experience, and work habits, this model, which is highly dependent on human factors, often leads to problems such as low quality of project research and design, difficulty in controlling progress, high research and development costs, and low work efficiency. Summary of the Invention

[0005] This application provides a method, apparatus, computer equipment, and storage medium for users to negotiate projects, aiming to solve the problems that traditional methods, which rely heavily on human factors, often result in low quality of project research and development, difficulty in controlling progress, high research and development costs, and low work efficiency.

[0006] In a first aspect, embodiments of this application provide a method for users to negotiate projects, the method comprising the following steps: In response to a request to enter the negotiation stage of a project, a task document to be edited is obtained, wherein the task document to be edited includes a first document and a second document; In response to the editing operation on the first document, the second document is synchronously updated based on a preset interactive structured template to obtain an updated task document; In response to the submission instruction triggered by Party B, the updated task document will be submitted to Party A for evaluation. Obtain the evaluation results from Party A regarding the updated task document; If the evaluation result is deemed satisfactory, the payment of the project cooperation fee by Party A will be triggered to conclude the negotiation process.

[0007] A further technical solution is that, in response to the editing operation on the first document, the second document is synchronously updated based on a preset interactive structured template, including: In response to an editing operation on a target radio button control in the first document, the selected state of the target radio button control and its preset attribute configuration information are obtained; Based on the attribute configuration information, locate the target content block or target line block associated with the target radio button control within the first document, and set the display attribute of the target content block or target line block to show or hide according to the selection state; Based on a preset interactive structured template, locate the referenced radio button control in the second document that has a reference association with the target radio button control; The selected state and attribute configuration information of the target radio button control are synchronized to the referenced radio button control in the second document. The same display or hide operation as in the first document is performed on the content block or line block associated with the referenced radio button control to generate an updated task document.

[0008] A further technical solution is that, in response to the submission instruction triggered by Party B, submitting the updated task document to Party A for evaluation includes: In response to the submission instruction triggered by Party B, the updated task document is subjected to multi-dimensional verification to obtain the verification results; wherein, the multi-dimensional verification includes document completeness verification, time compliance verification, and collaboration status verification. If the verification result meets the preset submission conditions, the button to submit to the client will be activated, and the updated task document will be submitted to the client for evaluation.

[0009] A further technical solution is that the evaluation result also includes "evaluation failed", and the method includes: Record the number of times the client conducts an evaluation after the current evaluation result is "unsatisfactory". Determine if the current number of evaluations is less than the preset maximum number of evaluations. If so, activate the button indicating that the client's evaluation has failed.

[0010] A further technical solution is that, after the current evaluation result is "evaluation fails", the method further includes: If the preset communication record form shows a document status of "evaluation failed" and "communication record form not completed"; Then activate the instant messaging button; In response to the client's activation of the instant messaging button, an instant messaging session is initiated. In the instant messaging session, the client is guided to fill in the communication content in the preset communication record form through the request to edit, exit editing and countdown mechanisms; After the instant messaging session ends, the content filled in the preset communication record form is fixed and saved as a history.

[0011] A further technical solution is that, during the project negotiation phase of the project collaboration platform, each task process is assigned a first overdue node, a second overdue node, and a third overdue node. The method also includes: Real-time monitoring of the number of working days consumed for the current task progress; If the number of working days consumed in the current task process reaches the trigger threshold of the first overdue node, save the process record of the first overdue node and update the avatar area and to-do items message. If the number of working days consumed in the current task process reaches the trigger threshold of the second overdue node, save the process record of the second overdue, and update the avatar area and to-do items message. If the number of working days consumed in the current task process reaches the trigger threshold of the third overdue node, the normal status verification process is skipped and the negotiation termination logic is triggered directly. The trigger thresholds for the first, second, and third overdue nodes increase sequentially.

[0012] A further technical solution is that the method further includes: In response to the user's editing operation on the target content in the planning document, a document list corresponding to the second document and a total work schedule are generated, wherein the target content includes the number of positions and tasks; Based on the document list and the overall work schedule, configure corresponding access permissions for each task document.

[0013] Secondly, embodiments of this application also provide an apparatus for users to negotiate projects, which includes a unit for performing the above-described method.

[0014] Thirdly, embodiments of this application also provide a computer device, which includes a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the above-described method.

[0015] Fourthly, embodiments of this application also provide a computer-readable storage medium storing a computer program that, when executed by a processor, can implement the above-described method.

[0016] This application provides a method, apparatus, computer device, and storage medium for users to negotiate projects. The method includes: in response to a request to enter the negotiation stage of a project, obtaining a task document to be edited, wherein the task document to be edited includes a first document and a second document; in response to an editing operation on the first document, synchronously updating the second document based on a preset interactive structured template to obtain an updated task document; in response to a submission instruction triggered by Party B, submitting an evaluation request to Party A for the updated task document; obtaining Party A's evaluation result for the updated task document; and in response to an evaluation result indicating that the evaluation is passed, triggering a node for Party A to pay the project cooperation fee to end the negotiation process.

[0017] This application embodiment, in response to editing operations on the first document, synchronously updates the second document based on a preset interactive structured template, achieving automated linkage between project requirements and execution plans. Compared to traditional collaboration models relying on manual adjustments, this method effectively eliminates data inconsistencies caused by human error or experience differences, significantly improving data accuracy and collaboration efficiency during project negotiation. By systematically linking the submission by the contractor, the evaluation by the client, and the payment milestones, it not only achieves automatic control and process solidification of project progress but also reduces collaboration risks caused by communication delays or misunderstandings, making the project initiation process more standardized and transparent, thereby improving the overall standardization and execution quality of project management. Attached Figure Description

[0018] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application.

[0019] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, for those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0020] One or more embodiments are illustrated by way of example with reference numerals in the accompanying drawings. These illustrations do not constitute a limitation on the embodiments. Elements with the same reference numerals in the drawings are denoted as similar elements. Unless otherwise stated, the figures in the drawings are not to be limited by scale.

[0021] Figure 1 A flowchart illustrating a first embodiment of a method for users to negotiate projects provided in this application; Figure 2 A schematic diagram of the document task page during project negotiation provided for this application; Figure 3 A diagram illustrating the document editing page used in project negotiations for this application; Figure 4 A diagram illustrating the editing requirements document and planning document provided for this application; Figure 5 A schematic diagram of the radio button control in the platform documentation provided for this application; Figure 6 A schematic diagram of the numbering control in the platform documents provided for this application; Figure 7 A schematic diagram of the material tables and material search lists in the platform documents provided for this application; Figure 8 This application provides a diagram illustrating the operation of selecting personnel within the personnel control in the platform documentation. Figure 9 This is a schematic diagram of the structure of a computer device provided in an embodiment of this application. Detailed Implementation

[0022] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0023] The following disclosure provides numerous different embodiments or examples for implementing various structures of this application. To simplify the disclosure, specific examples of components and arrangements are described below. These are merely examples and are not intended to limit the scope of this application. Furthermore, reference numerals and / or letters may be repeated in different examples. Such repetition is for simplification and clarity and does not in itself indicate a relationship between the various embodiments and / or arrangements discussed.

[0024] It should be understood that, when used in this specification and the appended claims, the terms "comprising" and "including" indicate the presence of the described features, integrals, steps, operations, elements and / or components, but do not exclude the presence or addition of one or more other features, integrals, steps, operations, elements, components and / or collections thereof.

[0025] It should also be understood that the terminology used in this specification is for the purpose of describing particular embodiments only and is not intended to limit the scope of the application. As used in this specification and the appended claims, the singular forms “a,” “an,” and “the” are intended to include the plural forms unless the context clearly indicates otherwise.

[0026] It should also be further understood that the term “and / or” as used in this application specification and the appended claims means any combination of one or more of the associated listed items and all possible combinations, and includes such combinations.

[0027] As used in this specification and the appended claims, the term "if" may be interpreted, depending on the context, as "when," "once," "in response to determination," or "in response to detection." Similarly, the phrase "if determined" or "if [the described condition or event] is detected" may be interpreted, depending on the context, as "once determined," "in response to determination," "once [the described condition or event] is detected," or "in response to detection of [the described condition or event]."

[0028] To address the aforementioned issues, this application provides a method for users to negotiate projects, which enables automated linkage between project requirements and execution plans, improves data accuracy and collaboration efficiency during the project negotiation phase, and achieves automatic control of project progress and process solidification.

[0029] In this application, the core of project negotiations between Party A and Party B revolves around "documents." Documents are used to formulate requirements and plans, determine whether the project can be submitted to Party A, assess Party A's approval, and calculate project costs. Simultaneously, functions such as document collaboration, termination of negotiations, and overdue calculations are interspersed throughout the negotiations, as detailed in the following examples.

[0030] See Figure 1 , Figure 1 A flowchart illustrating an embodiment 1 of a method for users to negotiate projects provided in this application is shown. The method includes the following steps: Step 110: In response to the request to enter the negotiation stage of the project, obtain the task document to be edited.

[0031] The task document to be edited includes a first document and a second document.

[0032] In some embodiments, the first document may be a requirements document, such as a requirements specification or a requirements list; the second document may be a plan document, such as a work plan or a quotation.

[0033] Step 120: In response to the editing operation on the first document, the second document is synchronously updated based on a preset interactive structured template to obtain an updated task document.

[0034] The preset interactive structured template is an interactive structured document template that integrates business content and processes. It refers to a standardized document created based on business requirements, consisting of multiple sub-documents that integrate (match) business processes, business specifications, business content, editing, and operations. It is used for document editing, delivery, and acceptance in project collaboration processes. Especially when the content of sub-documents is related, it can ensure consistency between the documents.

[0035] Step 130: In response to the submission instruction triggered by Party B, submit the updated task document to Party A for evaluation.

[0036] Step 140: Obtain the evaluation results of Party A on the updated task document.

[0037] Step 150: If the evaluation result is "evaluation passed", the node for Party A to pay the project cooperation fee will be triggered to end the negotiation process.

[0038] This embodiment, in response to editing operations on the first document, synchronously updates the second document based on a preset interactive structured template, achieving automated linkage between project requirements and execution plans. Compared to traditional collaboration models relying on manual adjustments, this method effectively eliminates data inconsistencies caused by human error or differences in experience, significantly improving data accuracy and collaboration efficiency during project negotiation. By systematically linking the submission by the contractor, the evaluation by the client, and the payment milestones, it not only achieves automated control and process solidification of project progress but also reduces collaboration risks caused by communication delays or misunderstandings, making the project initiation process more standardized and transparent, thereby improving the overall standardization and execution quality of project management.

[0039] This application mainly involves the document task page and the document editing page. On the "document task page", users can see the tasks to be done, and click to enter the "document editing page" to write the content and update the data. After editing, users can return to the "document task page" and click the "submit" or "evaluate" button to drive the entire project negotiation process forward.

[0040] like Figure 2 As shown, the project negotiation page can include a user name area, a project information area, a project progress bar area, a work group member area, a project data area, and a project document area.

[0041] The user name area includes the page logo, user name / organization, and message; The project information area includes the page path, project name, project type, project status area, and project multi-function button area. Specifically, the project status area can include "Under Negotiation," "Terminated," and "Terminated." It should be noted that the client's project multi-function button area displays "Terminated Negotiation." The contractor's representative's project multi-function button area also includes "Terminated Negotiation." The contractor's team members' project multi-function button area has none.

[0042] The workgroup personnel area includes avatars, tasks, information bars, personnel work status areas, and a personnel work multi-function button area. The personnel work multi-function button area includes: Client's work status area: Assessment overdue, Payment overdue. Client's multi-function button area: Assessment passed or failed, View project negotiation termination notice.

[0043] The B2B representative's work status area: Overdue submission. The B2B representative's multi-function button area: Submit and view the project negotiation termination notice to the A2B representative.

[0044] Team Member 1's work status area: None. Team Member 1's multi-function button area: None, View Project Negotiation Termination Notice. Team Member 2's work status area: None. Team Member 2's multi-function button area: None, View Project Negotiation Termination Notice.

[0045] When there are multiple group members, the corresponding work status area and work multifunction button area can be the same as those described for group member 1 or group member 2.

[0046] The project information area can include project documents, project folders, and project progress records.

[0047] The project document area may include: a document operation button area (such as compiling, modifying, and evaluating), a document list area, and a document collaboration and communication prompt area (such as document collaboration in progress and document communication in progress).

[0048] In some embodiments, the document editing page in project collaboration can be as follows: Figure 3 As shown, the document editing page can include a user name area, project information area, document editing function area, document tab area, and document content area. The user name area includes the page logo, user name / organization, and message. The project information area includes the project name, project type, project status, and a multi-function button area. The document editing function area includes document editing, document collaboration, and instant document communication. The document tab area includes the document name and document switching. The document content area includes viewing and editing document content.

[0049] In some embodiments, when Party A agrees to the negotiation application / Party B's representative accepts the negotiation invitation, the negotiation project is initialized and enters the [Negotiation] stage.

[0050] This includes checking whether both parties' user status has been deactivated, whether their credit rating is too low, whether the number of projects they are negotiating has reached the configured limit, and, if it's a graduation project, whether the person in charge of Party B is a current student. The `applyStatus` is changed to `AGREE_APPLY` (application approved) and `inviteStatus` is changed to `ACCEPT_INVITE` (invitation accepted). If other users have already negotiated with Party A for this project and invited the person in charge of Party B as a team member, the invitation status is changed to `REFUSE_INVITE` (invitation rejected).

[0051] The `ObjectUtils.copy()` method in the utility class is called to copy project data from the requirements release phase, generating project data for the negotiation phase. A new project ID, project phase (NEGOTIATE, negotiation phase), and project status (IS_NEGOTIATE, negotiation in progress) are set. This ensures the negotiation project data will appear in the list of projects under negotiation. The requirements release project ID is saved, associating the negotiation project with the requirements release project, and stored in the `pp_project` database table. A project released by the client may be under negotiation with multiple vendor representatives simultaneously; the relationship between requirements releases and negotiations is one-to-many.

[0052] Upon entering the negotiation phase, with only two project members—the client and the vendor's representative—two records are generated and saved to the `pp_project_member` database table. This table is used to determine the project member's role (client / vendor representative / team member) and display their position and tasks. Documents and related references from the requirements release phase are copied to the negotiation phase project. The project document list in the "Plan" document is configured with corresponding `docId` values ​​based on document names, allowing users to open the corresponding document by clicking its name. Editing during the negotiation phase involves using the copied documents and will not affect the documents from the requirements release phase.

[0053] The initial configuration document includes data such as the receiving address, username, cost / working days, student information, and graduation project service fee (the student's region's minimum monthly wage * coefficient) for both the client and contractor. The project start time in the configuration document is set to the start time of the next day's working hours. Material and document entry records are queried from the `dt_doc_material_record` database table, and the usage count of these records is incremented by 1. Based on the project's document list, a project folder dataset is generated and batch-saved to the `pp_phase_doc_lib` database table. This is used to view the project's folder list on the project collaboration page. A dataset of task documents to be edited during the negotiation phase is generated and batch-saved to the `pp_doc_task` database table. This is used to view the project's document task list on the project collaboration page, where task documents display corresponding buttons and document status text based on their document status.

[0054] During the initial negotiation phase, when submitting documents to Party B, the following procedures were followed regarding document permissions for project members: (1) Party A shall set the viewing permission to true for all documents, if it is a graduation project, otherwise set it to false, and set the permission to false for other documents.

[0055] (2) The person in charge of Party B shall set the permissions to view, edit, edit Party B's conclusion, and click the Party B's conclusion button to true, and other permissions to false.

[0056] (3) At this time there are no team members in the project, so there is no need to handle team member permissions.

[0057] Retrieve all test report documents from the negotiation phase, and configure the name and version cell content for the corresponding task test report documents. At this point, the number of task prototypes is not yet determined, so this will not be processed; the quantity cell will be empty.

[0058] Initialize the collaboration status. The current collaboration status between Party A and Party B is DOCUMENT_COMPILE (document preparation), and save it to the pp_phase_cooperate_status database table. This is used to determine whether the negotiation stage is currently in the process of Party B submitting, Party A evaluating, or Party A making payment. Initialize the progress bar nodes, setting the corresponding nodes and process line statuses, including time-defined settings for those. These are: Publish Requirements, Agree to Negotiation, Evaluation, Hosting, and Complete Cooperation. Save these in batches to the pp_project_progress_node database table for progress bar data display on the project collaboration page. Initialize the avatar area message object. First, generate two empty message objects and save them to the pp_phase_cooperate_message database table for avatar area information display on the project collaboration page. Subsequent updates to the avatar area information will be based on corresponding operations and nodes. Initialize the submission count object, setting the `handOverNum` and `assessNum` attributes to 0, and save it to the `pp_phase_hand_over_num` database table. This object is used to determine the number of submissions, assessments, team member submissions, deliveries, acceptances, termination types, and to display client assessment / acceptance reminders. Initialize the overdue value object, saving it to the `pp_phase_cooperate_overdue_value` database table. This object records and displays the overdue values ​​for each project member.

[0059] Based on the user types of both Party A and Party B, determine the project's cooperation type (A / B / C). If both Party A and Party B are from the same organization / team, it's a Type A cooperation; if all personnel of Party B are from the same organization, but Party A and Party B are not, it's a Type B cooperation; all others are Type C cooperation. After determining the cooperation type, show / hide patent function blocks according to the type. If it's a Type A cooperation, and all members are from the same organization, hide all patent function blocks. Otherwise, show the corresponding function blocks based on the current job status. Configure the corresponding comprehensive fee rate based on the project type and cooperation type; the comprehensive fee rate is used to calculate project costs.

[0060] During the submission period by Party B, the main task is to edit the "Requirements" document and the "Plan" document. During this period, the document collaboration function can be used to invite Party A and team members to assist in editing the documents. After the requirements and plan are finalized, the documents are submitted to Party A for evaluation. In the subsequent "In Progress" phase, both parties cooperate according to the established plan. See Example 2, which provides a detailed description of the entire process during Party B's submission period.

[0061] Example 2: This involves editing documents such as "Requirements" and "Plans" to formulate project requirements and plans. For example, the platform designs corresponding project phases based on different levels of complexity and project types. The platform intelligently configures the number of project phases for both parties based on data such as job roles, tasks, and project types provided by users in the "Requirements" and "Plans" documents.

[0062] Specifically, such as Figure 4 As shown, editing the "Requirements" document can include editing the requirements summary and detailed requirements; editing the "Plan" document can include defining job positions, identifying project personnel, designing tasks, project milestones, project budget, project patents, project costs, project documentation, and overall work schedule.

[0063] In some embodiments, project requirements can be defined through the editing functions of different controls. When editing the "Requirements" document, the "Plan" document and the design document will be automatically synchronized to ensure consistency. The document editing operations can include various forms; the following examples illustrate this using radio button controls, numbering controls, and editing material tables.

[0064] The radio button control can be implemented using the following steps 121-124: Step 121: In response to the editing operation on the target radio button control in the first document, obtain the selection state of the target radio button control and its preset attribute configuration information; Step 122: Based on the attribute configuration information, locate the target content block or target line block associated with the target radio button control within the first document, and set the display attribute of the target content block or target line block to show or hide according to the selection state; Step 123: Based on the preset interactive structured template, locate the referenced radio button control in the second document that has a reference association with the target radio button control; Step 124: Synchronize the selected state and attribute configuration information of the target radio button control to the referenced radio button control in the second document, and perform the same show or hide operation as in the first document on the content block or line block associated with the referenced radio button control to generate an updated task document.

[0065] For steps 121-124, as follows Figure 5 As shown, when a radio button control is selected, its associated content block and line block can be controlled through properties such as check, radioRelBlockFlags, relLogicRowBlockId, etc. The show property can be set to true to show or false to hide.

[0066] When a radio button control is selected, the externally referenced radio button will be modified synchronously. The same logic applies to the display and hiding of content blocks and line blocks associated with the externally referenced radio button. For example, if the project does not require an external wireless interface, the user can select the "No external wireless interface" radio button to hide the content block. At the same time, the content block in the test report document will be hidden synchronously, eliminating the need for subsequent design, development, and testing of the external wireless interface function.

[0067] If the radioWorkJobEnum property is included, it means that the radio button can control the display or hiding of job titles.

[0068] For the operation method of the number control, such as Figure 6 As shown, users can click the green underlined "Add" button and the "-" "Delete" button on the numbering control to expand sibling and child content blocks and delete content blocks. Internal document references and cross-document external references will be expanded and deleted simultaneously. For example, if a user has multiple "Functions and Requirements" that need detailed listing, they can expand multiple content blocks to write the product's functions and requirements. Simultaneously, the test report document will be expanded to ensure a one-to-one correspondence between requirements and subsequent testing.

[0069] For editing material tables, the operation method is as follows: Figure 7 As shown, users can click on the cell in the "Name" column of the material table to bring up a material search list. They can then search for different types and categories of materials based on keywords such as name and parameters and add them to the document. If the added material is "provided by Party A," the "Party A Provided Items" document will be synchronized, and a corresponding "Party A Provided Items" process will follow. Users can click on the cell in the "Parameters" column to modify the material and save the changes to the document. Alternatively, they can modify the material in the material search form. For materials created by the user, they can also perform transfer and deletion operations. The material table also supports adding and deleting table rows using the table numbering control. For example, if a user needs specific components in a product, they can fill in one or more corresponding materials in the "R&D Design Specific Component Information Table," and externally referenced documents will be synchronized with the corresponding materials.

[0070] In some embodiments, the technical fields involved in the platform include positions such as circuit design, mechanical design, software design, styling design, and packaging design. Both parties can determine the positions and number of positions required for the project.

[0071] When defining job positions, the "Requirements" document allows users to select whether or not to control or design job positions via radio buttons, and to adjust the number of positions by adding or deleting positions.

[0072] Specifically, users can click on a radio button control and use the `radioWorkJobEnum` property to control the display or hiding of design positions, thus controlling the presence or absence of design positions. The relationships between radio buttons and positions can be one-to-many. For example, a radio button in the Software Technology field controls the display / hiding of the Software Design position and the "Human-Computer Interaction Interface" content block, while radio buttons within the "Human-Computer Interaction Interface" content block control the display / hiding of the Prototype Design and Visual Design positions. Therefore, the Software Design position must exist before the Prototype Design and Visual Design positions can appear. If the Software Technology field radio button is set to "None," the Software Design position and the "Human-Computer Interaction Interface" content block will be hidden, and the Prototype Design and Visual Design positions will also be hidden. If the Software Technology field radio button is set to "Yes," the Software Design position and the "Human-Computer Interaction Interface" content block will be displayed, while the Prototype and Visual Design positions will need to be displayed or hidden based on the radio buttons within the "Human-Computer Interaction Interface" content block.

[0073] In some embodiments, the presence or absence of radio buttons in the verification technology field, leading to a change in job position, affects the logic for displaying and hiding function blocks in the "Requirements" document. Therefore, it's not possible to select "None" for all verification technology fields. For example, the "Requirements" document can be queried, and the `demandBook Show Hide Fun Block` public method can be called. Based on the content of the "Plan" document and the "Requirements" document, the corresponding function block in the "Requirements" document is retrieved by its function block identifier. It is then determined whether the function block meets the display conditions, and the `funBlockShow` property is set to `true` or `false`. For example, the content block related to "Appearance Layout of Circuit Modules" has a function block identifier of "J". The display conditions are that the project has a circuit design job, the total number of tasks for the circuit design job is >= 2, and there is no mechanical design job.

[0074] In some embodiments, changes in the number of positions and tasks affect the logic for showing and hiding function blocks in the "Plan" document. For example, by calling the `workPlanShowHideFunBlock` public method, based on the content of the "Plan" and "Requirements" documents, the corresponding function block in the "Plan" document is retrieved using its identifier. It is then determined whether the function block meets the display conditions, and the `funBlockShow` property of the block (content block) is set to `true` or `false`. For example, for a project containing styling / visual / prototype design positions, the function block identifier for the content block to be displayed is "D,G,H4,H7,L,L1,R". It is determined which positions' states are changed after the radio button is selected and saved in `workJobCodeChangeMap`. The "Plan" document is queried, and `workJobCodeChangeMap` controls the display or hiding of the corresponding position row, the corresponding patent content block, the project document, and the overall work schedule. If the position is hidden and there are multiple rows with the same position, the logic for deleting positions is executed from bottom to top until only the last row remains. Then, the personnel and task data for the last position are cleared, the position row content is cleared, and finally, the hidden attribute is set.

[0075] After showing or hiding job positions, you need to sort the personnel and tasks and modify the relevant document data names.

[0076] In some embodiments, the owner of the complete machine testing report in the "Plan" document is configured. The `syncProjectTestDirectoryUser` public method can be called to configure the personnel control content of the complete machine testing report document line to reference the personnel control under the design position line or the personnel control under the vendor's representative position line, based on the content of the "Plan" and "Requirements" documents. For a single circuit design position, a single mechanical design position, or a single software design position, the owner of the complete machine testing report is the personnel in the design position; otherwise, the owner is the vendor's representative.

[0077] In some embodiments, the display of the contractor's job title row is configured to be hidden based on the prototype and budget sheet. For example, the `showHideLeaderWorkJobRow` public method is called. Based on the content of the "Plan" and "Requirements" documents, if it is a single circuit design job, a single mechanical design job, or a single software design job, the contractor's job title row in the budget sheet is hidden by setting the `show` property to `false`. Simultaneously, the input box content of the job title row needs to be cleared.

[0078] Based on the data in the current "Requirements" and "Plan" documents, determine whether to display the rows for procurement, processing, logistics, and calculated days. The condition for hiding these rows is: it must be a pure software project in a completed phase without any prototype delivered. If it is a graduation project or the "Requirements" document contains items provided by the client, then the logistics days row will not be hidden, even if the hiding condition is met.

[0079] In some embodiments, changes in the number of positions and tasks can affect the display / hiding of the project's documents and the overall work schedule document list. For example, the `workPlanShowHideDocument` public method is called. Based on the content of the project and requirements documents, the corresponding document rows (referring to the project's documents and the overall work schedule documents, which are displayed and hidden synchronously) are retrieved using a template string. It is then determined whether the display conditions are met, and the `show` property of the `Row` is set to `true` or `false`. Only when the document is displayed, at the corresponding stage of the project ("In Progress"), does the contractor need to edit and deliver the document, and the client needs to accept it. For example, the document "{Order Recipient Name} - Contractor's Representative - Patent Implementation Description" is displayed if the project cooperation type is not Class A, the contractor's representative has filled in the patent form, and the number of patents is greater than 0.

[0080] In some embodiments, changes in job positions and quantities trigger the display / hide logic of functional blocks in the "Requirements" document. The display or hiding of content within these functional blocks affects the display or hiding of items provided by the client. Therefore, it's necessary to summarize the items provided by the client and handle the display / hide of client-provided item functional blocks. Summarizing client-provided items and handling the display / hide of client-provided item functional blocks are common method logic. The `summaryPartyAProvideMateriel` common method can be called to summarize client-provided items. This method retrieves currently displayed materials from the "Requirements" document that are provided by the client. Identical materials are merged into a single row, and their quantities are accumulated. If identical materials exist in the history, the quantity in the history is subtracted. Finally, the client-provided materials with a quantity > 0 are obtained and configured in the latest item list overview table.

[0081] The `showHideWorkPlanPartyAProvide` public method handles the display and hiding of the client-supplied items function block. The display condition is that the client-supplied materials exist in the "Requirements" document or the client has submitted items. The `show` property of the block is set; if displayed, the number of days for client-supplied items and logistics days in the block must be synchronized; if hidden, the number of days is set to 0. The "List of Items Provided by Client and its Shipping Documents" and "List of Items Returned to Client by Party B and its Shipping Documents" lines in the "Plan" document are synchronized for later document editing. `existPartyAProvideMaterial` (whether client-supplied items exist in the project) and `partyAProvideLogisticsDays` (the number of logistics days for client-supplied items) are saved to the `pp_project` project database table, which will be used to configure the client-supplied item process and calculation formulas.

[0082] In some embodiments, materials can be summarized by calling the `projectSummaryMateriel` public method. Specifically, this can involve retrieving material data from all material source files, merging identical materials into a single line, summing the quantities, and then configuring the summarized material data in the "Material Summary Source File" document.

[0083] In some embodiments, the `syncInvoiceDocExcerptAmount` public method can be called to synchronize the budget amount for each position. Specifically, based on the budget table content in the "Plan" document, the corresponding document can be retrieved according to the corresponding position, and the corresponding budget amount (budget for completed stages and the current stage) can be retrieved according to the personnel and stage of the corresponding position, and configured in the personnel's invoice amount. The invoice document will automatically calculate the amount exceeding the budget based on the invoice content filled in by the user. Note: A positive value for exceeding the budget indicates that the total invoice amount filled in by the user exceeds the budget, and the client will not make up for it; a negative value for exceeding the budget indicates that there is excess budget, which the contractor can continue to use, or it can be returned to the client at the time of project settlement.

[0084] In some embodiments, the `projectSummaryInvoice` public method can be called to summarize invoices. For example, it can retrieve all invoice documents for the project, extract the budget amount and user-filled information from the invoice documents, and configure the filled information in the "Project Outsourcing Invoice Fee Statistics Summary Table" document. If it is a single task for a single circuit design position, a single task for a single mechanical design position, a single task for a single software design position, or a purely software project, the patent content block of the contractor's representative should be cleared and hidden; otherwise, it should be displayed.

[0085] In some embodiments, project folders are synchronized based on the project document list in the "Plan" document, so that the project folders can be viewed on the project collaboration page. Specifically, this can be achieved by calling the `syncProjectDirectory` public method to retrieve the project document list from the "Plan" document and return a `List`. <file>A collection of documents; each File object contains attributes such as name, type (folder / document), document ID, and parent folder ID. This is achieved through a List object. <file>Construct a List <phasedoclibpo>The phase document library is stored in the `pp_phase_doc_lib` database table. The job member information in the "Plan" document is synchronized and saved to the `pp_project_member` database table. This table is used to determine the roles of project members (client / vendor manager / team member) and display their job titles and tasks. Finally, the front-end is notified of document name updates via web-socket.

[0086] In some embodiments, the specific interactive process for adding a job posting is as follows: Figure 4 As shown in the image, when the user's mouse pointer hovers over the job control, the interface displays a hovering finger style to indicate that it is interactive. The user triggers an operation command by clicking the left mouse button, and the system then calls the `workPlanWorkJobAdd` interface to add a job, thereby executing the backend business logic for adding a job.

[0087] During the job addition process, the system verifies that the currently edited document is a "Plan" document, that it is currently in the negotiation / change / project initiation stage, that the current editor is the contractor's representative, that no one else is editing the document, and that the number of identical job positions does not exceed three. The system retrieves the job control by clicking the cell address. It then uses the `cellInnerRefs` mapping to find the set of cell addresses referenced internally by the job control, `allWorkJobAddresses`, and adds job rows to the document by looping through `allWorkJobAddresses`. The system copies the corresponding job row from the template library and resets the addresses of all cells in the row. It records the address mapping between the operation row and the copied row (`allOperateRowAddressToCopyRowCellMap`) and the cross-document address mapping (`allOperateRowAddressToCopyRowCrossDocCellMap`). Find all internal calculation formulas, internal references, external references, and cross-document calculation formulas involved in the cells of the job posting row. Use allOperateRowAddressToCopyRowCellMap and allOperateRowAddressToCopyRowCrossDocCellMap to generate a copy of all internal calculation formulas, internal references, external references, and cross-document calculation formulas involved in the cells of the job posting row.

[0088] In some embodiments, the PayDocumentFile folder associated with the job title in the project's document list can be copied from the template library, a new identifier is generated, and saved in the workJobValue object. The addresses of the personnel controls in the copied folder are reset, an internal reference is established between the personnel controls in the copied folder and the personnel controls in the newly added job title row, and the copied personnel folder is inserted. A new identifier is generated for the task folder under the personnel folder in the project's document list, and saved in the task control properties, thereby expanding the project's document list.

[0089] In some embodiments, expanding the overall work schedule can be achieved by retrieving the set of overall work schedule identifiers corresponding to the allDirIds job from the workJobValue job value object, iterating through the overall work schedules of different stages, copying the personnel folder PayDocumentFile associated with the job in the overall work schedule from the template library, generating new identifiers, and saving them in the workJobValue object. The addresses of personnel controls in the copied folder are reset, internal references are established between the personnel controls in the copied folder and the personnel controls in the newly added job row, and the copied personnel folder is inserted. New identifiers are generated for the task folders under the personnel folders in the overall work schedule and saved in the task control properties. If merging multiple rows of cells is involved, the rowSpan property of the merged cells should include the number of rows to be inserted. Starting from the operation row, personnel are sorted. After sorting, the names of the documents in the personnel folders are modified. Starting from the first task of the same job, tasks are sorted, and the related document names are modified. The deleteability of job controls is adjusted based on the number of identical job positions. If only one job remains, it cannot be deleted, or it is a specific styling or packaging project type; the first job, by default, is the contractor's manager and cannot be deleted. Based on the current staff data, configure the number of employees for Party B, counting the same user as one person.

[0090] Based on this, the logic for displaying and hiding functional blocks in the "Requirements" document is handled by calling the `demandBookShowHideFunBlock` public method; the logic for displaying or hiding functional blocks in the "Plan" document is handled by calling the `workPlanShowHideFunBlock` public method; the logic for displaying or hiding the project documents and overall work progress document list in the "Plan" document is handled by calling the `syncProjectTestDirectoryUser` public method; the logic for configuring the owner of the whole machine test report document in the "Plan" document is handled by calling the `showHideLeaderWorkJobRow` public method; and the logic for displaying and hiding the row of the contractor's responsible person's position in the prototype and budget table is handled by calling the `showHideLeaderWorkJobRow` public method. For details, please refer to the relevant statements above, which will not be repeated here.

[0091] If the original status of the task document was CAN_SUBMIT_DELIVERY (ready to submit), but after adding a position, the submission conditions are no longer met, the contractor's conclusion needs to be changed to "not submitted," and the document status changed to IS_COMPILE (under preparation) or IS_MODIFY (under modification). The contractor needs to re-check the contractor's conclusion before submission. If there are two or more identical positions, the first position of the same type needs to have its system design task configured and added to the task control for front-end display, prompting the user that the first user of the same position needs to undertake the system design task. If there is only one identical position, no system design task configuration is required. Third-party testing reports for packaging projects correspond one-to-one with task testing reports. Therefore, when adding a position and a task, the third-party testing report needs to be processed and copied and expanded synchronously. Simultaneously, the reference to the "Quantity of Packaging Samples to be Delivered" cell in the newly added testing report document should be processed to reference the corresponding task budget quantity cell.

[0092] Building upon this, the `summaryPartyAProvideMateriel` and `showHideWorkPlanPartyAProvide` public methods can be called to handle the logic of summarizing client-provided items and displaying / hiding the client-provided item function block; the `projectSummaryMateriel` public method can be called to handle the logic of summarizing materials; the `syncInvoiceDocExcerptAmount` public method can be called to synchronize the budget amount for each position; and the `projectSummaryInvoice` public method can be called to handle the logic of summarizing invoices, processing patent function blocks, and adding position rows. The patent content block can be synchronously expanded by calling `addNumber`. The copied patent content block and the newly added position row are linked to the position and personnel controls to establish internal references. The copied patent document is linked to the table in the copied patent content block to establish external references. If it is a single circuit design job, a single mechanical design job, a single software design job, or a pure software project, clear and hide the patent content block of the contractor's responsible person, call the syncProjectDirectory public method to handle the synchronization of the project folder logic, so that the project folder can be viewed in the project collaboration page, and finally notify the front end of the document name update via web-socket.

[0093] Similarly, for information on deleting job postings, please refer to [link / reference]. Figure 5 When the mouse hovers over the "-" sign to the left of the job control, a small hand icon will appear. Clicking the left mouse button will bring up a helpful prompt pop-up. Clicking the "OK" button will call the workPlanWorkJobDelete interface to delete the job and execute the job deletion logic.

[0094] Verify that the currently edited document is a "Plan" document, that it is currently in the negotiation / change / project initiation stage, that the current editor is the person in charge of Party B, that no one else is editing this document, that there is only one line of the same position that cannot be deleted, and that the position line contains personnel or tasks that cannot be deleted.

[0095] Because deleting a job posting will reduce the number of tasks, the design document needs to synchronize its content blocks. Therefore, before deleting a job posting row, it's necessary to locate the design document corresponding to the job task and call `removeNumber`.

[0096] In the project's document list, delete the personnel folder and task folder under each job title, along with all related document data within those folders. In the overall work progress table, delete the personnel folder and task folder under each job title. When merging multiple rows, subtract the number of rows being deleted from the rowSpan of the merged cell. It's important to note that deleting the first row of the same job title actually deletes the data in the second row. However, in both the project's documents and the overall work progress table, only the first row of the job title is deleted. Therefore, the personnel controls for the second row of the job title in both tables should point to the personnel controls in the first row.

[0097] Retrieve the job posting control by clicking the cell address. Use the `cellInnerRefs` mapping to find the set of all internally referenced cell addresses (`allWorkJobAddresses`). Loop through `allWorkJobAddresses` to delete job posting rows from the document. If deleting the first row of the same job posting actually deletes the data from the second row, moving the data from the second row to the first row. After deletion, calculate the related cells involved in the deleted job posting row. Deleting that job posting row also synchronously deletes rows in externally referenced documents.

[0098] Sort all personnel and modify the relevant document names. Starting with the first task of the same position, sort the tasks and modify the relevant document names. Adjust the deleteability of the position control based on the number of identical positions. If only one position remains and cannot be deleted, or if it is a specific styling or packaging project type, the first position defaults to the contractor's manager and cannot be deleted. Configure the contractor's number of personnel cells based on the current position personnel data, counting identical users as one person. Call the demandBookShowHideFunBlock public method to handle the logic of showing and hiding the functional blocks in the "Requirements" document; call the workPlanShowHideFunBlock public method to handle the showing and hiding of the functional blocks in the "Plan" document; call the workPlanShowHideDocument public method to handle the showing and hiding of the project documents and the overall work progress document list in the "Plan" document; call the syncProjectTestDirectoryUser public method to configure the owner of the whole machine test report document in the "Plan" document; call the showHideLeaderWorkJobRow public method to handle the prototype and budget sheets, and configure the showing and hiding of the contractor's manager's position row; call the configSystemDesignTask public method to configure the system design task for the position.

[0099] Because third-party testing reports for packaging projects are one-to-one with task testing reports, deleting a job also deletes the task. Therefore, the third-party testing reports need to be processed and deleted simultaneously. The following steps are taken: The `summaryPartyAProvideMateriel` and `showHideWorkPlanPartyAProvide` methods are called to handle summarizing client-provided items and showing / hiding the client-provided items block; the `projectSummaryMateriel` method is called to summarize materials; the `syncInvoiceDocExcerptAmount` method is called to synchronize the budget amount for the job; the `projectSummaryInvoice` method is called to summarize invoices; the patent block is handled, including deleting the job row, and the patent content block needs to be deleted simultaneously using `removeNumber`; the `syncProjectDirectory` method is called to handle the synchronization of project folder logic, used to view project folders in the project collaboration page; finally, the front-end is notified of the document name update via web-socket.

[0100] It should be noted that if the first position of the same job is being deleted, the patent content block data of the second position is actually moved to the patent content block of the first position, and then the patent content block of the second position is deleted. This is because the first position is a template, and the configuration table and notification document contain corresponding formula references, so it cannot be deleted. If it is a single circuit design job, a single mechanical design job, a single software design job, or a purely software project, the patent content block of the contractor's representative should be cleared and hidden.

[0101] In some embodiments, users can use the personnel control to invite individuals / teams / organizations to join the project as team members and assume corresponding positions. The same person can assume multiple different positions. Users can also remove team members from the project, and a corresponding termination notice will be generated for the team member.

[0102] After entering the process of identifying project personnel, you can first perform the "Select Personnel" operation (usually referring to adding personnel from the candidate list to the project), then perform the "Remove Personnel" operation (usually referring to removing existing personnel from the project), and finally end the project personnel process.

[0103] like Figure 8 As shown, during the personnel selection process, hovering the mouse over the personnel control will display a small hovering hand icon. Clicking the left mouse button will bring up a menu. Clicking the "Invite Friends" option in the menu will display a list of invited friends. Only one friend can be invited for each position. After selecting a friend, clicking the "Done" button will bring up a message pop-up window (if inviting the contractor's representative, no message is needed; the API will be called directly). After entering the message and clicking the "OK" button, the workPlanSelectUser personnel selection API will be called to execute the personnel selection logic.

[0104] Verify that the currently edited document is a "Plan" document, that the current stage is negotiation / change / project initiation, that the current editor is the contractor's representative, that no one else is editing the document, that the invitee has left the company, that there is already an invitee for the current position, and that the same design position cannot invite the same person. Ensure that there is only one account (identity) in the work group, and only the account of the person who accepted the invitation the first time. Subsequent entries should only use the account (identity) of the person who entered the work group the first time, and uniqueness should be determined by the mobile phone number. For example: if the first invitation was accepted by an individual account, and the second invitation is made to a team account of the same individual account, then the identity of the second entry will also be an individual, and the username will be the same as the name of the person who accepted the invitation the first time. This process will not cause confusion in the logic of personnel identity, process records, project settlement, etc. Determine the daily salary of the personnel. If the invitee has accepted an invitation before during the negotiation stage, use the daily salary of the previously accepted invitation. If the invitee has not accepted an invitation but there is a record of currently inviting, use the daily salary of the currently inviting record. Otherwise, use the daily salary of the current user. Locate the corresponding personnel control by clicking the cell address, and set data such as user ID, unit ID, user name, daily salary, and mobile phone number, and synchronously modify the internal and external referenced cells. Configure the daily wage and region cells in the expense and budget tables for document display and project cost calculation. Modify the document names in the corresponding personnel and task folders under this position, synchronizing the relevant document names with the database. Sort the personnel. After sorting, modify the names of the documents in the personnel folders.

[0105] Based on the current staff data, configure the cell for the number of vendors, counting the same user as one person. If the vendor's manager selects themselves, no invitation record needs to be sent; the invitation status of the personnel control is directly set to ACCEPT_INVITE (accept invitation). Synchronize the job member information in the "Plan" document and save it to the pp_project_member database table. This table is used to determine the roles of project members (client / vendor manager / team member) and display job and task data.

[0106] Additionally, the code calls the `workPlanShowHideDocument` public method to handle the display and hiding of project documents and the overall work progress document list in the "Plan" document; it calls the `syncProjectTestDirectoryUser` public method to configure the owner of the whole machine test report document in the "Plan" document; it restricts the filling of travel expense forms; it calls the `showHideLeaderWorkJobRow` public method to handle prototype and budget forms, configuring the display and hiding of the vendor's responsible position row; it checks the cooperation type after selecting personnel, which may change the project's cooperation type, and displays and hides patent function blocks accordingly. Based on the project type and cooperation type, it configures the corresponding comprehensive rate for calculating project costs. The code calls the `projectSummaryMateriel` public method to handle material summary; the `syncInvoiceDocExcerptAmount` public method to synchronize the budget amount for each position; the `projectSummaryInvoice` public method to handle summary invoice logic; and the `syncProjectDirectory` public method to handle project folder synchronization logic, used to view project folders on the project collaboration page. Finally, it notifies the front-end of document name updates via web-socket.

[0107] It's important to note that restricting the filling out of the travel expense form is a common method logic. For example, you can call the `limitWorkPlanTableMachineOutsourcingBudget` common method. If multiple positions belong to the same person, only the first position's row can have the travel expense budget filled in; the other rows have their `editable` property set to `false` to be uneditable, the input box background color set to white, and the input box content set to 0. Otherwise, set the `editable` property to `true` to be editable, and the input box background color set to yellow.

[0108] During the process of removing personnel, hovering the mouse over the personnel control will display a small hand icon. Clicking the left mouse button will bring up a menu. Clicking the "Remove Position" option in the menu will display a helpful prompt pop-up. Clicking the "OK" button will call the `workPlanExitUser` interface to execute the logic for removing personnel. The process verifies that the currently edited document is a "Plan" document, that the current stage is negotiation / change / project initiation, that the current editor is the contractor's representative, and that no one else is currently editing the document. If the removing personnel is not the contractor's representative, a negotiation termination notice will be generated for that member. Team members can view the notification of their departure from the negotiation. By clicking the cell address, the corresponding personnel control is located, and attributes such as User ID, User Name, Company ID, and Mobile Number are set to empty. Internal and external cell references are modified simultaneously. The daily salary and region cells in the corresponding position rows of the project cost and budget tables are cleared. Starting from the operation row, subsequent personnel are sorted, and the names of the relevant documents are modified accordingly. If the task document was originally in the CAN_SUBMIT_DELIVERY state and can be submitted, but a member leaves the group, causing the submission conditions to be no longer met, the contractor's conclusion needs to be changed to "not submitted," and the document status needs to be changed to IS_COMPILE (being compiled) or IS_MODIFY (being modified). The contractor needs to re-check the contractor's conclusion before it can be submitted.

[0109] Furthermore, the `syncProjectTestDirectoryUser` public method is called to configure the owner of the whole machine test report document in the "Plan" document. Based on the current personnel data, the number of vendor personnel cells is configured, counting the same user as one person. The `workPlanShowHideDocument` public method is called to handle the display and hiding of project documents and the total work progress document list in the "Plan" document; the `limitWorkPlanTableMachineOutsourcingBudget` public method is called to limit the filling of the travel expense form; after a team member leaves, the content of the corresponding patent content block is cleared, and the number of patents is synchronized. The personnel information in the "Plan" document is synchronized and saved to the `pp_project_member` database table to determine the role of project members (client / vendor manager / team member) and display data such as position and task. Leaving personnel may change the project's cooperation type; after leaving, the cooperation type is determined, and the patent function blocks are displayed or hidden according to the cooperation type. Based on the project type and cooperation type, the corresponding comprehensive rate is configured for calculating project costs. The `syncProjectDirectory` public method is called to handle the logic of synchronizing the project folder; finally, the front-end is notified via web-socket that the document name is refreshed, the document page is updated, and a to-do notification sound is sent. The WeChat API interface is called to send WeChat notifications to the corresponding users.

[0110] In some embodiments, users can add, delete, modify, and hand over tasks and quantities to personnel by editing task controls or by editing input box controls associated with task controls. Changes to tasks will synchronize data such as project phases, budget, project documents, and overall work schedule.

[0111] During the task addition process, hovering the mouse over a custom task in the task control will display a small hover hand icon. Clicking the left mouse button will bring up a menu. Clicking the "Add Task" option in the menu will open a task addition pop-up window. After entering the task name and clicking the "OK" button, the documentWorkGroupTaskAdd interface will be called to execute the task addition logic. The system validates that the currently edited document is a "Plan" document, is in the negotiation / change / project initiation stage, the current editor is the contractor's representative, whether anyone else is editing the document, whether there is a conflict with the default task name, that the same task name cannot be entered for the same design position, and that a position can have a maximum of 5 tasks.

[0112] The system retrieves the corresponding task control by clicking the cell address. Using the `payDocumentNodeId` property of the currently clicked task, it copies the corresponding task folder `PayDocumentFile` from the template library, generates a new `payDocumentNodeId` property, inserts it into the project's document list, replaces the document names in the copied folder, and modifies the database data.

[0113] The task control now includes a new TaskValue object, which allows you to set properties such as task name and task index, and saves the payDocumentNodeId property to associate it with the task folder.

[0114] The overall work schedule is expanded by retrieving the set of overall work schedule identifiers corresponding to the `allDirIds` tasks from the `TaskValue` object. This is then processed iteratively across different stages of the overall work schedule. The associated task folder `PayDocumentFile` from the template library is copied, a new identifier is generated, and stored in the `TaskValue` object. The document names in the copied task folder are replaced and inserted into the new folder. If merging multiple rows of cells is involved, the `rowSpan` property of the merged cells must include the number of rows to be inserted. The tasks are then sorted, and the relevant document data names are modified.

[0115] The code calls the `demandBookShowHideFunBlock` public method to handle the display and hiding of function blocks in the "Requirements" document; the `workPlanShowHideFunBlock` public method to handle the display and hiding of function blocks in the "Plan" document; the `workPlanShowHideDocument` public method to handle the display and hiding of project documents and the overall work progress document list in the "Plan" document; the `syncProjectTestDirectoryUser` public method to configure the owner of the whole machine test report document in the "Plan" document; it loops through the single task budget and whole machine quantity and budget tables, adding corresponding job task rows; it calls the `showHideLeaderWorkJobRow` public method to handle the prototype and budget tables, configuring the display and hiding of the vendor's responsible person's job row; it adds tasks, and the design document needs to synchronize content blocks; it adds tasks, and the budget table related to the task synchronously adds new task rows, with the task name column cell storing the `taskIndex` attribute, associated with the task, and merging cells of multiple rows by incrementing `rowSpan` by 1. The `summaryPartyAProvideMateriel` and `showHideWorkPlanPartyAProvide` public methods are called to handle the summarization of items provided by the client and the display / hide of the client-provided items function block; the `projectSummaryMateriel` public method is called to handle the summarization of materials; the `syncInvoiceDocExcerptAmount` public method is called to synchronize the budget amount for each position; and the `projectSummaryInvoice` public method is called to handle the summarization of invoices.

[0116] For graduation project projects, adding tasks may lead to changes in project phases. When phases 4 and 5 change, copy the currently entered working days, prototype and outsourcing budget, number of task prototypes, and number of prototypes delivered in each phase to the corresponding cells for phases 4 and 5. If it is a single task for a single circuit design position, a single task for a single mechanical design position, a single task for a single software design position, or a purely software project, clear and hide the patent content block for the contractor's representative; otherwise, display it.

[0117] Synchronize the job member information in the "Plan" document and save it to the pp_project_member database table. This table is used to determine the roles of project members (client / vendor representative / team member) and display their job titles and tasks. Call the syncProjectDirectory public method to handle the synchronization logic of the project folder, which is used to view the project folder on the project collaboration page. Finally, notify the front-end to refresh the document name via web-socket.

[0118] It's worth noting that the looping of single-task budgets and the total number of machines and budget tables, adding corresponding job task rows, is a common method logic, which will only be explained in detail here and will not be repeated later. The `addMachineOutSourcingBudgetTableRow` common method is called. The corresponding operation row is found through the clicked TaskValue object, the row is copied from the template library and inserted. The cells for job positions, personnel, and processing Sum formulas in the operation row are cells that have merged multiple rows, with `rowSpan+1`. The newly added row must save the TaskValue object and be associated with the task.

[0119] Since the third-party testing reports for packaging projects are one-to-one with the task testing reports, a task was added that requires processing the third-party testing reports and simultaneously copying and expanding them. Additionally, the reference to the "Quantity of Packaging Samples to be Delivered" cell in the newly added testing report document needs to be processed to reference the corresponding task budget quantity cell.

[0120] During the task deletion process, hovering the mouse over a custom task in the task control will display a small hover hand icon. Clicking the left mouse button will bring up a menu. Clicking the "Delete Task" option in the menu will trigger a helpful pop-up window. Clicking the "OK" button will call the `documentWorkGroupTaskDelete` interface to execute the task deletion logic. The process verifies that the currently edited document is a "Plan" document, that it is currently in the negotiation / change / project initiation stage, that the current editor is the contractor's representative, and whether anyone else is editing the document. The corresponding task control is located using the clicked cell address. If only one task remains, it is not deleted; instead, the task name is modified to the default name, and the input data in the task row is cleared. If more than one task remains, the `TaskValue` object to be deleted is located using the `taskIndex` and deleted. The `payDocumentNodeId` property of the `TaskValue` is used to delete the corresponding task folder and related document data within the project's documents. Retrieve the set of total work progress table identifiers corresponding to the allDirIds task using TaskValue, and then delete the task folders in the total work progress table in a loop. If it involves merging cells with multiple rows, the rowSpan attribute of the merged cells should be reduced by the number of rows to be deleted.

[0121] Sort the tasks and modify the related document data names. Since the third-party testing reports for packaging projects correspond one-to-one with the task testing reports, the tasks were deleted. Now, the third-party testing reports need to be processed and deleted simultaneously. Delete the budget table related to the tasks. Find the corresponding task row through the TaskValue object and delete the task row simultaneously, merging the rows of cells rowSpan-1. If the task document's original status was CAN_SUBMIT_DELIVERY (ready to submit), deleting the task causes it to no longer meet the submission conditions. The contractor's conclusion needs to be changed to "not submitted," and the document status changed to IS_COMPILE (under preparation) or IS_MODIFY (under modification). The contractor needs to re-check the contractor's conclusion before submission.

[0122] The code calls the `demandBookShowHideFunBlock` public method to handle the display and hiding of function blocks in the "Requirements" document; the `workPlanShowHideFunBlock` public method to handle the display and hiding of function blocks in the "Plan" document; the `workPlanShowHideDocument` public method to handle the display and hiding of project documents and the overall work progress document list in the "Plan" document; the `syncProjectTestDirectoryUser` public method to configure the owner of the whole machine test report document in the "Plan" document; the `showHideLeaderWorkJobRow` public method to handle the prototype and budget sheets, and configure the display and hiding of the vendor's responsible person's position row; and deletes tasks and design documents that need to be synchronized. Locate the design document corresponding to the task and call `removeNumber`; call the `summaryPartyAProvideMateriel` and `showHideWorkPlanPartyAProvide` public methods to handle the summary of items provided by the client and the display / hide of the client-provided item function block; call the `projectSummaryMateriel` public method to handle the summary of materials; call the `syncInvoiceDocExcerptAmount` public method to synchronize the budget amount for the position; and call the `projectSummaryInvoice` public method to handle the summary of invoices.

[0123] For graduation project projects, deleting tasks may lead to changes in project phases. When phases 4 and 5 change, copy the currently entered working days, prototype and outsourcing budgets, number of task prototypes, and number of prototypes delivered in each phase to the corresponding cells for phases 4 and 5. If it is a single task for a single circuit design position, a single task for a single mechanical design position, a single task for a single software design position, or a purely software project, clear and hide the patent content block for the contractor's representative; otherwise, display it. Synchronize the job member information in the "Plan" document and save it to the pp_project_member database table to determine the roles of project members (client / contractor representative / team member) and display job and task data. Call the syncProjectDirectory public method to handle the synchronization logic of the project folder, which is used to view the project folder in the project collaboration page; finally, notify the front end to refresh the document name via web-socket.

[0124] It should be noted that modifying and handing over tasks have similar operational processes to deleting tasks, and will not be described in detail here.

[0125] In some embodiments, input boxes in the Requirements document can be used to control the addition, deletion, and modification of tasks in the Plan document. If the `taskExcerpt` property of an input box is true, it indicates that the input box is associated with a task. Changes to the input box are used to determine whether a task is added, deleted, or modified. If the input box content changes from empty to having a value, it indicates an addition of a task. If there is only one task in the first row of the job posting and it is a template task, the task modification logic is executed. Otherwise, the task addition logic is executed, adding the task to the end of the first row of the job posting. If the input box content changes from having a value to empty, it indicates a deletion of a task. Based on the value before modification, the corresponding task index `taskIndex` is found, and the task deletion logic is executed. If the input box content value is modified, it indicates a modification of a task. Based on the value before modification, the corresponding task index `taskIndex` is found, and the task modification logic is executed. Deleting a number will delete the content block, causing the input box control associated with the task control in the content block to be deleted, requiring the execution of the task deletion logic. Unchecking or checking the checkboxes associated with the content block will hide or show the content block. If the input box control associated with the task control in the content block has content, the corresponding delete task or add task logic needs to be executed.

[0126] In some embodiments, the number of working days, working time periods, milestone schedules and planned completion dates, prototype budgets, travel expense budgets, etc., can be specified.

[0127] Specifically, the setting of working days allows users to modify the input boxes with a yellow background in the table to specify the working days for different personnel at different stages, the client's acceptance days, and the days for procurement, processing, and logistics at different stages. By entering the number of days, the program will automatically calculate and generate data such as the planned completion time and project costs for the corresponding stage.

[0128] The work period can be defined by both parties, A and B, by modifying the dropdown control to specify the collaborative work timeframe. This defined work period is used for subsequent project phase processing, including calculating work time, overdue rates, and countdown timers. During the work period, both parties can only activate and trigger corresponding operations, such as delivery to Party A or acceptance failure.

[0129] Milestones and planned completion dates are calculated based on the project's start time, number of working days, weekend / holiday markers, holiday / day adjustment array, and working hours. Both parties can clearly understand the planned timeframe for each stage of the project collaboration through these milestones and planned completion dates. The timeframe is calculated using the WORKTIME function. The function formula is: WORKTIME(start time, number of working days, weekend / holiday markers, holiday / day adjustment array). For example: a start time of 1767571200000 milliseconds (08:00:00 on Monday, January 5, 2026), 8 working days, a weekend / holiday marker of 1 (Saturday, Sunday, and public holidays off), and a working hours of 08:00:00-18:00:00, the result calculated using the WORKTIME function is a timestamp of 1768384800000 milliseconds (18:00:00 on Wednesday, January 14, 2026). Milestones for completed stages will not be changed during the project collaboration. For example, if the project has entered Phase 2, the planned completion time for Phase 1 will not be changed by any factors. Entering the number of days for each position, procurement, processing, logistics, and acceptance; modifying the start time, working hours, and weekend / holiday dropdown options in the work time period content block; indicating whether the client provides items in the project; deleting positions; selecting / removing personnel; and any changes to cells in the milestone and planned completion date formulas will trigger the calculation of WORKTIME.

[0130] For prototype budgets and travel expense budgets, budget tables can be automatically generated based on data from the "Requirements" and "Plan" documents. Users simply need to enter the budget details in the corresponding input boxes of the budget table to obtain the project's budget costs, allowing the client to clearly understand the project's budget expenses.

[0131] First, you can determine if a budget is available. For example, if there are circuit design / mechanical design positions, project types involving travel expenses, or if radio buttons for physical production / poster sample production / packaging sample production are selected, or if a styling design position is selected with model sample production, then budget-related content blocks and position budget rows will be displayed. For instance, if there are mechanical and styling positions but the radio button for no model sample production is selected, then content blocks related to prototype budgets will be displayed, with a budget row for the mechanical position but no budget row for the styling position.

[0132] The prototype budget consists of three sections: "Number of Prototypes for Each Task and Their Outsourcing Budget," "Number of Complete Units Delivered in Each Project Phase," and "Outsourcing Budget for Personnel in Each Project Phase." Each section contains a detailed budget table. It lists the tasks involved in each position, the number of prototypes for each task, the number of complete units delivered in each phase, and the budget for that phase. Users can use input boxes to edit and fill in the number of prototypes and budgets for each position, as well as the number of complete units delivered in each phase, to obtain the project's budget.

[0133] For example, the task phase budget formula algorithm = ((number of complete units in the phase * number of prototype units in the task) + loss) * (procurement cost + processing cost + testing cost); the job phase budget formula algorithm = SUM(budget of all task phases under the job); the total project budget = the sum of the phase budgets of multiple jobs.

[0134] For travel expense budgets, users can use input boxes to fill in information such as the client's city, transportation costs, and accommodation costs in the travel expense table. If multiple design positions belong to the same user, only the first position can edit the travel expense budget. The travel expense formula is: Travel Expenses = Transportation Costs + Accommodation Costs; Total Project Travel Expenses = Total Travel Expense Budgets of Multiple Users.

[0135] In some embodiments, the platform's documentation may also include patent content blocks, collaboration fee and service fee content blocks.

[0136] The patent content block is linked to job positions and personnel controls, and its content is updated and deleted synchronously with the addition or deletion of job positions. If a person leaves, the patent content is cleared. The number of patents held by a job position and the patent sharing royalty rate are involved in the calculation of project fees for that position and personnel. The number of patents is determined by the content of the "Intellectual Property Sharing List" table within the content block. A completed patent table row counts as one patent, and the numbers are accumulated. When the number of patents is greater than 5, the royalty rate is 200%. When the number of patents is less than 5, the royalty rate is 50% per patent. The patent sharing royalty rate is used in the project fee calculation formula. Furthermore, each job position has corresponding patent documents. When a user fills out the patent table in the patent content block, the patent document content is synchronized to ensure document consistency.

[0137] Project costs may include cooperation fees and service fees. Category A cooperation projects require a service fee, while other cooperation types require a cooperation fee.

[0138] The calculation of relevant fees within the cooperation fee can be referenced using the following formula: a. Job Stage Cost = Daily Wage of Personnel * (Number of Days in Current Stage + Number of Days in Current Stage Outsourcing) * (1 + Comprehensive Rate) + (Stage Budget / Travel Expenses) + (IF (Current is the final stage cost, Daily Wage of Personnel * (Total Number of Days in the Job + Total Number of Days in Outsourcing) * Patent Sharing Fee Rate, 0); Total cooperation fee = SUM (cost of all stages of the job); b. Part processing cost = processing quantity * (single piece material cost + (single piece machine time cost + single piece labor time cost) * (1 + comprehensive rate)) + tooling or fixture cost; Prototype manufacturing cost = Quantity manufactured * (material cost per unit + (machine hour cost per unit + labor hour cost per unit) * (1 + comprehensive rate)) + tooling or fixture cost; Total processing cost = SUM (processing cost of parts) + SUM (making cost of prototype); c. Procurement cost = SUM (quantity * unit price of goods); d. Total testing cost = number of samples * SUM ((machine time cost + labor time cost) * (1 + comprehensive rate)).

[0139] As can be seen from the above formula, changes in data such as the number of days on duty, the number of days of outsourcing, the overall fee rate, the budget, travel expenses, the patent sharing and usage fee rate, the quantity, the material cost, the machine time cost, and the personnel time cost will trigger the calculation of the cooperation fee.

[0140] When the cooperation fee changes, the service fee will be updated accordingly. Service fee = IF(cooperation fee < 14999, cooperation fee * (15 + 5 * SQRT(cooperation fee / 10000)) / 100, IF(cooperation fee < 999999, cooperation fee * (22 - SQRT(cooperation fee / 10000)) / 100, cooperation fee * (13 - SQRT(cooperation fee / 2000000)) / 100)) * coefficient.

[0141] In some embodiments, the project's documents are associated with the document list in the overall work schedule, as well as with positions, personnel, and tasks. When the position, personnel, and task controls perform corresponding operations, the content of the document list is synchronized. Changes in document data will affect the display and hiding of the document list. The content of these two content blocks is used to define the design documents that the contractor needs to write at different stages of the "in progress" phase, the documents under different positions and personnel permissions, the planned delivery time, and the design documents that the client needs to accept, along with the planned acceptance time.

[0142] Each job control, personnel control, and task control has its corresponding folder and documents within that folder, linked by properties such as `payDocumentNodeId`, `workJobDirectoryNodeId`, `relFirstUserTaskDirIds`, and `relFirstWorkJobDirIds`. When adding a job, adding a task, or handing over a task, the project's document list and the overall work schedule's document list are expanded simultaneously. Conversely, deleting a job, deleting a task, or handing over a task simultaneously deletes the project's document list and the overall work schedule's document list. Similarly, the `workPlanShowHideDocument` public method can be used to show or hide these documents.

[0143] It should be noted that during the submission period by Party B, when the person in charge of Party B edits the task document, the "Document Collaboration" button of the task document will be activated. Party B can enable the "Document Collaboration" function, invite Party A and team members, and switch the person with editing permissions of the document through operations such as requesting editing, exiting editing, and countdown, so as to complete the formulation and writing of requirements and plans together with Party A and team members.

[0144] If the "Plan" document has the "Document Collaboration" function enabled and the client has been invited, then in addition to the "Plan" document, the client will have viewing access to other documents in the project.

[0145] Regarding the evaluation process by Party A, in some embodiments, the process of submitting the updated task document to Party A in response to a submission instruction triggered by Party B includes: performing multi-dimensional verification on the updated task document in response to the submission instruction triggered by Party B, and obtaining verification results; wherein, the multi-dimensional verification includes document completeness verification, time compliance verification, and collaboration status verification; if the verification results meet the preset submission conditions, then activating the button to submit to Party A, and submitting the updated task document to Party A in response to the evaluation request.

[0146] In this embodiment, the conditions for activating the "Submit to Party A" button are: Party B has written all the task documents, and all the task documents are deemed ready for submission by Party B, the document status is CAN_SUBMIT_DELIVERY, and the time is within the working period.

[0147] Verify that the current time is within the working period. Query the `pp_phase_cooperate_status` table to obtain the `cooperateStatus` attribute value and verify that the current cooperation status is equal to `CAN_HAND_OVER` (ready to submit). Verify that the number of days entered in the "Requirements" document is greater than the remaining days of the current dispute period for the source project.

[0148] After submission, configure the "Communication Record Form" document. If any cells in the "Party B" column contain content, set their editable attribute to false to prevent editing, thus keeping them as historical records that cannot be changed again. Change the task document's status to WAIT_ASSESS (Pending Evaluation) for the client to display the evaluation button on the project collaboration page. Reset the client's evaluation conclusion cell in the task document to "Not Evaluated." Also, increment the submission count by 1, and set the `assessTipsFlag` (client acceptance / evaluation prompt) and `acceptanceAssessFirstTipsFlag` (client acceptance / evaluation first prompt) attributes to 1, so that the client can display an evaluation reminder pop-up every time they open the project collaboration page.

[0149] During the client's evaluation process, document permissions are assigned. The client has the right to view task documents, edit the client's evaluation conclusion cell, and click the client's evaluation button. The `docView`, `partyAAssess`, and `partyAAssessHeader` properties are set to `true`. The client only has view permissions for other documents, with the `docView` property set to `true`. The vendor and team members only have view permissions for all documents, with the `docView` property set to `true`.

[0150] Save the process record of the submission by Party B, and update the avatar area and to-do messages. Read the fee data in the document, determine whether it is a service fee, project fee, or negotiation fee based on the cooperation type, and save the amount to be paid to the pp_project project database table. This will be used to notify Party A of the amount to be paid when Party A's evaluation is approved. Modify cooperate_status (collaboration status) to DOCUMENT_ASSESS (document evaluation). Based on this attribute value, determine whether the project is in the evaluation period by Party A and execute the corresponding logic. Finally, notify the front-end project collaboration page and document page to update in real time via web-socket, send to-do notification sounds, and call the WeChat API to send WeChat notifications to the corresponding users.

[0151] It should be noted that for cases where Party B may have submitted overdue documents, the overdue submission value of Party B needs to be cleared, the "Overdue Submission" scheduled task needs to be deleted, and the "Overdue Evaluation" scheduled task needs to be started.

[0152] Refer to Example 3, which provides a detailed description of the assessment period for Party A. Example 3 specifically includes the following process: Step 11: Evaluate the documents submitted by Party B.

[0153] If the evaluation result is "evaluation passed", then proceed to step 13; if the evaluation result is "evaluation failed", then proceed to step 2).

[0154] In step 11, the conditions for Party A to activate the "Evaluation Passed" button are: Party A has evaluated all documents submitted by Party B and the evaluation conclusion of Party A for all documents is "Passed", and the time is within the working period.

[0155] Verify that the current time is within the working period. Query the `pp_phase_cooperate_status` table to obtain the `cooperateStatus` attribute value and verify that the current cooperation status is equal to `CAN_ASSESS_PASS` (evaluable pass). Verify that the number of days entered in the requirements document is greater than the remaining days of the current dispute period in the source project.

[0156] After the assessment is passed, set up the "Communication Record Form". If any cells in the "Party A" or "Party B" column contain content, set the "editable" attribute of all cells in that row to "false" to prevent editing and ensure they remain historical records. Determine personnel information, synchronize the review form document data, and retrieve personnel information from the "Plan" document. Configure the Party B's workgroup information in the review form document in sequence. Based on current positions, add all project members to their Bangbang address book groups. For example, if the "Circuit Design" position exists after the assessment is passed, add a "Circuit Design" group to all project members' Bangbang address books. Record the number of Party A assessments +1, and set the `assessTipsFlag` and `acceptanceAssessFirstTipsFlag` attributes to 0. Determine the project document list and synchronize the "Plan" document list to the phase document library to display the project folders for the negotiation phase. Modify the progress bar node status. Set the assessment node's `nodeCompleteStatus` (node ​​status) to `COMPLETE` (for displaying black nodes on the front end), set the `nodeTime` node time, and set `processCompleteStatus` (process line status) to `ON_GOING` (for displaying green process lines on the front end). For the managed node, set `nodeCompleteStatus` to `ON_GOING` (for displaying green nodes on the front end). Set `projectStatus` in the `pp_project` database table to `WAIT_PAY_ESCROW_FEE` (for pending project management fees), used to determine when the project enters the payment period and execute corresponding logic. Modify the milestone start time in the "Plan" document and the start time and planned completion time cells in the "Requirements" document. The start time should be the current time plus the number of days to pay; if the current time plus the number of days to pay is not within the working time period, the start time of the nearest working time period should be used. Configure the contract number, project name, cooperation fee, and other information in the contract. If the amount payable by Party A is 0, add a payment order (for subsequent project completion or termination settlement and transaction details processing), directly call the balance payment success method, and the project enters the "In Progress" stage. Finally, notify the front-end project collaboration page and document page to update in real time via web-socket, send to-do notification sounds, and call the WeChat API to send WeChat notifications to the corresponding users.

[0157] It should be noted that if the client's assessment may have been overdue, the overdue value of the client's assessment needs to be cleared, the "Overdue Assessment" scheduled task needs to be deleted, the "Overdue Payment" scheduled task needs to be started, and the process record of the client's assessment approval needs to be saved, and the avatar area and to-do items messages need to be updated.

[0158] Step 12: Determine whether the current number of evaluations is less than the preset maximum number of evaluations.

[0159] If yes, it means that Party A's evaluation has failed, and the button indicating that Party A's evaluation has failed will be activated, returning to the process of Party B resubmitting; if no, proceed to step 13.

[0160] In step 12, the conditions for Party A to activate the "Assessment Failed" button are: Party A has evaluated all documents submitted by Party B and all documents have Party A's evaluation conclusions and communication record forms have been filled out. Among them, there are documents with the status of ASSESS_NO_PASS (Assessment Failed) and the time is within the working period.

[0161] Verify if the current time is within the working hours. Query the `pp_phase_cooperate_status` table to obtain the `cooperateStatus` (cooperation status) attribute value. Verify if the current cooperation status is equal to `CAN_ASSESS_NO_PASS` (can be assessed as unacceptable). After an assessment fails, set the "Communication Record Form". If the cells in the "Client" column have content, set the cell's `editable` attribute to `false` to prevent editing, thus keeping it as historical data that cannot be changed. Increment the client's assessment count by 1, and set the `assessTipsFlag` and `acceptanceAssessFirstTipsFlag` attributes to 0. If it is the `assessMax` (configured maximum number of assessments) assessment, it can only be assessed as either successful or the negotiation terminated.

[0162] During the submission period of Party B, document permissions are assigned. (1) Party A can view all documents. If it is a graduation project, Party A can view it. The docView property is set to true. Otherwise, Party A cannot view it. The docView property is set to false. (2) Party B's supervisor can view, edit, edit Party B's conclusion, click Party B's conclusion button, and edit Party B's column cells in the "Communication Record Table" for documents that Party A failed to evaluate. The docView, docEdit, leaderConclusion, leaderConclusionHeader, and communicateRecordTableLeaderCol properties are set to true. Party B's supervisor can view, edit, edit Party B's conclusion, and click Party B's conclusion button for documents that passed the evaluation. The docView, docEdit, leaderConclusion, and leaderConclusionHeader properties are set to true. Party B's supervisor can only view other documents. The docView property is set to true. (3) Group members can only view all documents. The docView property is set to true.

[0163] Save the process log of the client's failed evaluation, and update the avatar area and to-do message. If the client's evaluation may have been overdue, clear the overdue value, delete the "Overdue Not Evaluated" scheduled task, and start the "Overdue Not Submitted" scheduled task. Change the status of the task document to WAIT_MODIFY (to be modified) so that the vendor's representative can display the "Re-edit" button and document status on the project collaboration page. In the task document, for documents approved by the client, set the client's evaluation conclusion cell to "Not Evaluated" and clear the partyAAssess client evaluation attribute. For all task documents, clear the leaderConclusion vendor conclusion attribute. Finally, use web-socket to notify the front-end project collaboration page to update in real time, update the document page, send to-do notification sounds, and call the WeChat API to send WeChat notifications to the corresponding users.

[0164] In some embodiments, when the evaluation result is "evaluation failed", an instant communication node can be triggered. For example, if the preset communication record form shows a document status of "evaluation failed" and "communication record form not completed", then the instant communication button is activated. In response to the client's triggering operation on the activated instant communication button, an instant communication session is started. In the instant communication session, through the request to edit, exit editing and countdown mechanisms, the client is guided to fill in the communication content in the preset communication record form. After the instant communication session ends, the content filled in the preset communication record form is fixed and saved as a history.

[0165] In other words, if Party A evaluates the documents submitted by Party B and selects Party A's conclusion as "evaluation unsuccessful," the "Communication Record Form" will always display the document status as ASSESS_NO_PASS (evaluation unsuccessful) or ASSESS_NO_PASS_NO_COMPLETE_RECORD_TABLE (evaluation unsuccessful, communication record form incomplete). At this point, the "Instant Communication" button will be activated. Party A can then enable instant communication, using actions such as requesting editing, exiting editing, and setting a countdown timer to fill out the "Communication Record Form" and communicate with Party B's representative to resolve issues. The entered content will be recorded and archived.

[0166] Step 13: Entering the payment period for Party A.

[0167] Specifically, referring to Example 4, Example 4 provides a detailed description of the process during the payment period by Party A. During the payment period by Party A, Example 4 may include the following process: 1) Pay project fees; This can be determined based on the type of cooperation, whether the project fee payable by Party A is a cooperation fee or a service fee. For example, for type A cooperation, Party A needs to pay a service fee; for other types of cooperation, Party A needs to pay a cooperation fee.

[0168] It should be noted that if Party A selected the option to include a negotiation fee when posting the requirements, then a negotiation fee will need to be paid in addition to the project fee during the payment period; otherwise, no negotiation fee will be required.

[0169] After payment is completed, the cooperation fee / service fee will be deposited into the escrow balance, while the negotiation fee will be deposited directly into the account balance of the person in charge of Party B after deducting the service fee charged by the platform.

[0170] Alternatively, payments can be made by an individual or an organization. For example, if the client is an individual or team account, payments can only be made through individual payment. If the client is an organization account, in addition to individual payment, payments can also be made through an organization, with relevant personnel from the organization reviewing and making the payment on behalf of the client.

[0171] 2) Upon successful payment, the process enters the in-process stage; 3) Determine whether Party A has provided the items; If yes, the process of Party A providing items will be triggered and the items will be delivered to Party B; otherwise, the operation will end.

[0172] Specifically, after negotiating and paying project fees, if the project requires items from Party A, the project enters the Party A item provision phase. Start the scheduled task "[Party A Has Not Provided Items Overdue]", setting the `existPartyAProvideMaterial` attribute to 1 (1 indicates that Party A has provided items in the project), the `isPartyAProvidePhase` attribute to 1 (1 indicates that the project is currently in the Party A item provision process), the `partyAHandOverToPartyB` attribute to 1 (1 indicates that Party A item provision is being prepared), the `partyAProvideStatus` attribute to `PROJECT_START` (the Party A item provision process after negotiation), and `firstPhasePartyAProvideLogisticsDays` (the logistics days for the first Party A item provision, used for time calculation). Insert the Party A item provision task document and project members' permissions for the Party A item provision document. Record the Party A item provision event, recording the start time and saving it to the `pp_event_record` database table, used to enter the Party A item provision process after negotiation. Otherwise, set the opposite attributes and document permissions, and do not start the scheduled task.

[0173] In some embodiments, the conditions for activating the "Submit to Party B" button are: Party A has completed the "Items Provided by Party A" document and it is within the working hours.

[0174] Record the end time of the event where Party A provides items for overdue calculation, delete the scheduled task "[Party A has not provided items overdue]", and clear Party A's overdue value. Set the `partyAHandOverToPartyB` property to 3 (3 represents that Party A clicked the "Submit to Party B" button) and `partyAAlreadyHandOver` to 1 (1 represents that Party A provided items during the project collaboration). Query the current document data to determine if Party A has filled in logistics information. Based on the logistics information, call the third-party API interface to query the current logistics status. If Party A selects "No logistics" or "Logistics exists and the logistics has been signed for," enter the period for Party B to inspect the items provided by Party A, and start the scheduled task "[Overdue items not inspected by Party A]", with a duration of E days (E days is configured according to the maximum number of working days of the project's workgroup). Otherwise, record the start time of the logistics overdue event, start the scheduled task "[Logistics overdue for items provided by Party A]", during the period of the scheduled task, the platform will subscribe to real-time logistics information until the third-party logistics returns a signed-for status or the scheduled task ends, entering the period for Party B to inspect the items provided by Party A. The content of the "Items Provided by Party A" document is set to history and cannot be edited. New content blocks are copied and initially hidden, only becoming visible when new items provided by Party A are added during the change phase. The document status is set to WAIT_ASSESS (pending verification by Party B's representative), used to configure the document status on the project collaboration page. All project members' permissions for the "Items Provided by Party A" document are changed to view-only, with the docView property set to true. The process of Party A submitting items to Party B is recorded, and the avatar area and to-do list messages are updated. Finally, a web-socket notification is sent to the front-end project collaboration page for real-time updates, the document page for updates, and a to-do list notification sound. The WeChat API is also called to send WeChat notifications to the corresponding users.

[0175] In some embodiments, the items provided by Party A can be inspected. If Party B fails the inspection or Party A fails to provide the items within the stipulated time, the project will be terminated. For example, during the inspection of items provided by Party A, Party B's representative can click the "Terminate Project Cooperation" option in the "More" button, select and fill in the reason for termination, and terminate the project. After confirming the termination, the project will enter the "Suspended" stage. Party B needs to return the items provided by Party A, fill in the "List of Items Returned by Party B to Party A and Delivery Documents" document, and click the "Project Closure" button after completion. After Party A accepts and approves the document, click the "Project Closure" button, and the project cooperation will be terminated, generating a termination notice. Settlement of fees and credit points will be based on the contents of the notice.

[0176] If the inspection passes, the process of Party A providing the items ends. For example, the countdown for the scheduled task "[Items provided by Party A not inspected within the time limit]" ends, or Party B clicks the "[Deliver to Party A]" button, indicating that Party B has successfully inspected the items provided by Party A. Set the leaderAcceptancePartyAProvide property to 1 (1 means Party B has successfully inspected the items provided by Party A) and isPartyAProvidePhase to 0 (0 means Party B is not in the process of Party A providing the items).

[0177] In some embodiments, during the negotiation process, both parties may proactively terminate the negotiation, or the negotiation may be automatically terminated due to exceeding the time limit. The project process status of terminating the negotiation is further divided into START_NEGOTIATE_TERMINATED (negotiation terminated) and NEGOTIATE_TERMINATED (negotiation terminated).

[0178] Among them, "actively terminating negotiations" refers to the act of terminating project negotiations initiated by the user. This act, depending on the triggering entity and the configuration of the requirement release stage, includes the following two main scenarios: 1) Party A chooses to terminate the negotiation by paying the negotiation fee: When "Negotiation fee applies" is selected during the demand posting stage, Party A can click to terminate the negotiation and choose to pay the negotiation fee.

[0179] The negotiation fee (rounded down) is calculated as a coefficient multiplied by the order taker's credit score. The purpose of the negotiation fee is to incentivize the order taker, as they will spend considerable time during the negotiation process to refine project requirements and develop plans. Paying the negotiation fee can be used as a token of appreciation. If the order taker fails to satisfy the client during the negotiation process, the client is not required to pay the negotiation fee, and this will not affect any of the client's functions or their personal credit score. If Party A clicks the "Pay Negotiation Fee" termination button, the project status will be checked to be IS_NEGOTIATE (under negotiation), and cooperationStatus will be in the Party A's evaluation period. It will also be checked whether there is an incomplete communication record form. If such a form exists and Party A has filled in the required information, the negotiation cannot be terminated.

[0180] Change the project status from `projectStatus` to `START_NEGOTIATE_TERMINATED` to indicate whether the project is currently in the initiation / termination phase or if documents cannot be edited. If any documents have instant messaging enabled, clear the instant messaging status and disable instant messaging. Insert initiation / termination nodes and termination / negotiation nodes, and change the `processCompleteStatus` of the agreement / negotiation node to `COMPLETE`. Change the evaluation node from `nodeCompleteStatus` to `NO_START`, and reorder the nodes after termination / negotiation. Delete the scheduled task for "[Client Overdue Evaluation]", and start the scheduled task for "[Client Overdue Negotiation Fee Payment]". If there are records of inviting team members, change the invitation status from `inviteStatus` to `INVITE_INVALID` (invitation invalid).

[0181] During the project's initiation, negotiation, and termination phases, document permissions are assigned. Party A can view the task document but cannot view other documents. Party B's representative and team members have no viewing permissions for any documents.

[0182] Save the process record of Party A choosing to terminate the negotiation by paying the negotiation fee, and update the profile picture area and to-do items.

[0183] Finally, the web-socket notification system sends real-time updates to the front-end project collaboration page and document page, sends to-do notification sounds, and calls the WeChat API to send WeChat notifications to the corresponding users.

[0184] 2) If Party A chooses not to pay the negotiation fee to terminate the negotiation or Party B clicks to terminate the negotiation: If Party A does not check "Negotiation fee applies" during the demand release stage, the termination interface will be called directly, or if "Negotiation fee applies" is checked, Party A will choose not to pay; Party B's representative will click the terminate negotiation button directly.

[0185] The process involves first executing the steps to terminate the negotiation with Party A by paying the negotiation fee. Then, during the project termination negotiation period, the phase project is set to NEGOTIAATE_TERMINATED (negotiation terminated), the project status is set to NEGOTIAATE_TERMINATED (negotiation terminated), the termination time is set, and the reason for termination is set.

[0186] If it's a third-party project, the source project needs to modify the `entrustTestStatus` delegated testing status based on the currently released third-party projects, negotiated third-party projects, and ongoing third-party projects. Synchronize the "U1-Configuration and Calculation Data" and notification documents to maintain consistency with the personnel table structure in the "Plan" document. Synchronize newly added job rows first, then hide and show the corresponding job rows. Modify the `nodeCompleteStatus` and `processCompleteStatus` properties of the start and end nodes of the progress bar to `COMPLETE`, modify the `nodeCompleteStatus` property of the terminated negotiation node to `COMPLETE`, and set the `nodeTime` node time. This will be used for the progress bar display in the front-end project collaboration page.

[0187] Save the process record of the termination of the negotiation fee by Party A, and update the avatar area and to-do items. Change the project's database tables pp_phase_cooperate_message, pp_phase_cooperate_overdue_value, pp_phase_doclib, pp_phase_cooperate_status, pp_phase_hand_over_num, and pp_doc_task, changing the project phase to NEGOTIATE_TERMINATED for querying project data during the negotiation termination phase. Render the content of the negotiation termination notification document for both Party A and Party B, configuring data such as the termination time, Party A's name, Party B's name, negotiation fee, and credit score for viewing on the project collaboration page. Delete all scheduled tasks for this project using the projectId project ID, and then restart the "Automatically delete document data upon expiration" scheduled task. Use the document entry record table to determine whether materials have been used; if not, decrement the usage count by 1 and clear the materials entered in the hidden content block. Use the literature entry record table to determine whether literature has been used; if not, decrement the usage count by 1 and clear the literature entered in the hidden content block. Finally, the web-socket notification system sends real-time updates to the front-end project collaboration page and document page, sends to-do notification sounds, and calls the WeChat API to send WeChat notifications to the corresponding users.

[0188] In some embodiments, during the project negotiation phase of the project collaboration platform, each task process has a first overdue node, a second overdue node, and a third overdue node. This means that regardless of the project's current stage, there is a corresponding number of days limit during the negotiation phase. Exceeding the corresponding number of days may trigger the corresponding first, second, and third overdue nodes, and these nodes will execute their respective logic. See steps 21-24 for details.

[0189] Step 21: Monitor the number of working days consumed in the current task progress in real time.

[0190] Step 22: If the number of working days consumed in the current task process reaches the trigger threshold of the first overdue node, save the process record of the first overdue node and update the avatar area and to-do items message.

[0191] The first overdue node is the node at which the overdue period begins. The trigger threshold for the first overdue node is the start overdue time = preset number of days + preset number of days * first coefficient.

[0192] The first coefficient can be 0, and the preset number of days can be set and adjusted according to the actual situation.

[0193] For example: If Party B has a 5-day deadline for submitting the application, then the number of days before the deadline begins is 5 days.

[0194] Step 23: If the number of working days consumed in the current task process reaches the trigger threshold of the second overdue node, save the process record of the second overdue and update the avatar area and to-do items message.

[0195] The second overdue node is a serious overdue node. The trigger threshold for the second overdue node is the start time of overdue = preset number of days + preset number of days * second coefficient.

[0196] The second coefficient can be 0.8, and the preset number of days can be set and adjusted according to the actual situation.

[0197] For example: If there is a 5-day limit on the submission period by Party B, then the number of days for serious overdue work is 9 days.

[0198] Step 24: If the number of working days consumed in the current task process reaches the trigger threshold of the third overdue node, skip the regular status verification process and directly trigger the negotiation termination logic. The trigger thresholds of the first overdue node, the second overdue node, and the third overdue node increase sequentially.

[0199] Among them, the third overdue node is the maximum overdue node, and the trigger threshold for the third overdue node is the start time of overdue = preset number of days + preset number of days * third coefficient.

[0200] The third coefficient can be 1, and the preset number of days can be set and adjusted according to the actual situation.

[0201] For example: If Party B has a 5-day limit on the submission period, then the maximum number of overdue working days is 10 days.

[0202] When a project reaches its maximum overdue point, the system will automatically trigger the termination process. This process reuses the "active termination of negotiation" mechanism in its core logic, but there are differences in the specific execution details: (1) No status verification is required. (2) If there are orders to be paid, the order status is changed from success to -1 cancellation, and the bank card payment status is changed from bankCardPayStatus to PAY_TERMINATED user payment termination / REJECT rejection. For orders paid on behalf of the unit, the payment status is changed to -1 rejection, and the pending items for payment disappear. (3) The "Communication Record Form" that is always displayed in the task document is configured with the reason for not filling in: "Project terminated, not filled in." (4) The credit value of the corresponding personnel is deducted according to the overdue type. For example: If the termination is caused by the failure of Party B to submit the overdue documents, the basic credit value of the negotiation will be deducted from all members of Party B.

[0203] By editing an interactive, structured document template that matches the project type, data such as project collaboration requirements, roles, personnel, tasks, and costs are defined. Based on the vendor's conclusions and the client's evaluation conclusions in the documents, the status of the task documents is synchronized. The document status, combined with actions such as submission to the client, evaluation failure, and evaluation approval, drives the project submission and evaluation process. Document collaboration features facilitate document writing and requirement definition for both parties. Instant communication features resolve project collaboration issues between the two parties. Reasonable overdue time limits are set for each sub-process during the negotiation phase. During the negotiation phase, the client and vendor representatives can proactively terminate project negotiations within the corresponding timeframes.

[0204] In summary, both parties in this application can intelligently generate detailed project requirements and work plans by editing the requirements and planning documents in the interactive document template. Furthermore, based on the content of the project requirements, the design documents, test reports, and other content of the project can be synchronously linked and expanded, improving the convenience and accuracy of project document preparation, ensuring consistency between project requirements and design / testing content, and solving problems such as non-standard requirements and plans, and inconsistencies between requirements and results in traditional R&D design.

[0205] Corresponding to the above-described method for negotiating projects between users, this application also provides an apparatus for negotiating projects between users. This apparatus includes units for executing the aforementioned method for negotiating projects between users, and can be configured in a terminal such as a desktop computer, tablet computer, or laptop computer.

[0206] like Figure 9 As shown in the figure, this application provides a computer device including a processor 111, a communication interface 112, a memory 113, and a communication bus 114, wherein the processor 111, the communication interface 112, and the memory 113 communicate with each other through the communication bus 114. Memory 113 is used to store computer programs; In one embodiment of this application, when the processor 111 executes a program stored in the memory 113, it implements the method for negotiating projects between users provided in any of the foregoing method embodiments, including: In response to a request to enter the negotiation stage of a project, a task document to be edited is obtained, wherein the task document to be edited includes a first document and a second document; In response to the editing operation on the first document, the second document is synchronously updated based on a preset interactive structured template to obtain an updated task document; In response to the submission instruction triggered by Party B, the updated task document will be submitted to Party A for evaluation. Obtain the evaluation results from Party A regarding the updated task document; If the evaluation result is deemed satisfactory, the payment of the project cooperation fee by Party A will be triggered to conclude the negotiation process.

[0207] It will be understood by those skilled in the art that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program may be stored in a storage medium, which is a computer-readable storage medium. The computer program is executed by at least one processor in the computer system to implement the process steps of the embodiments of the above methods.

[0208] Therefore, embodiments of this application also provide a computer-readable storage medium storing a computer program thereon, wherein the computer program, when executed by a processor, implements the steps of the method for negotiating projects between users as provided in any of the foregoing method embodiments, including: In response to a request to enter the negotiation stage of a project, a task document to be edited is obtained, wherein the task document to be edited includes a first document and a second document; In response to the editing operation on the first document, the second document is synchronously updated based on a preset interactive structured template to obtain an updated task document; In response to the submission instruction triggered by Party B, the updated task document will be submitted to Party A for evaluation. Obtain the evaluation results from Party A regarding the updated task document; If the evaluation result is deemed satisfactory, the payment of the project cooperation fee by Party A will be triggered to conclude the negotiation process.

[0209] The storage medium is a physical, non-transient storage medium, such as a USB flash drive, external hard drive, read-only memory (ROM), magnetic disk, or optical disk, or any other physical storage medium capable of storing program code. The computer-readable storage medium can be non-volatile or volatile.

[0210] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the components and steps of the various examples have been generally described in terms of functionality in the foregoing description. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementations should not be considered beyond the scope of this application.

[0211] In the several embodiments provided in this application, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative. For example, the division of each unit is merely a logical functional division, and there may be other division methods in actual implementation. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed.

[0212] The steps in the methods of this application embodiment can be adjusted, merged, or deleted according to actual needs. The units in the apparatus of this application embodiment can be merged, divided, or deleted according to actual needs. Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.

[0213] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, a terminal, or a network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application.

[0214] In the above embodiments, the descriptions of each embodiment have different focuses. For parts that are not described in detail in a certain embodiment, please refer to the relevant descriptions in other embodiments.

[0215] Obviously, those skilled in the art can make various modifications and variations to this application without departing from the spirit and scope of this application. Since these modifications and variations fall within the scope of the claims and their equivalents, this application also intends to include these modifications and variations.

[0216] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any person skilled in the art can easily conceive of various equivalent modifications or substitutions within the technical scope disclosed in this application, and these modifications or substitutions should all be covered within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.< / phasedoclibpo> < / file> < / file>

Claims

1. A method for negotiating projects between users, characterized in that, The method includes the following steps: In response to a request to enter the negotiation stage of a project, a task document to be edited is obtained, wherein the task document to be edited includes a first document and a second document; In response to the editing operation on the first document, the second document is synchronously updated based on a preset interactive structured template to obtain an updated task document; In response to the submission instruction triggered by Party B, the updated task document will be submitted to Party A for evaluation. Obtain the evaluation results from Party A regarding the updated task document; If the evaluation result is deemed satisfactory, the payment of the project cooperation fee by Party A will be triggered to conclude the negotiation process.

2. The method according to claim 1, characterized in that, In response to the editing operation on the first document, the second document is synchronously updated based on a preset interactive structured template, including: In response to an editing operation on a target radio button control in the first document, the selected state of the target radio button control and its preset attribute configuration information are obtained; Based on the attribute configuration information, locate the target content block or target line block associated with the target radio button control within the first document, and set the display attribute of the target content block or target line block to show or hide according to the selection state; Based on a preset interactive structured template, locate the referenced radio button control in the second document that has a reference association with the target radio button control; The selected state and attribute configuration information of the target radio button control are synchronized to the referenced radio button control in the second document. The same display or hide operation as in the first document is performed on the content block or line block associated with the referenced radio button control to generate an updated task document.

3. The method according to claim 1, characterized in that, The response to the submission instruction triggered by Party B, which involves submitting the updated task document to Party A for evaluation, includes: In response to the submission instruction triggered by Party B, the updated task document is subjected to multi-dimensional verification to obtain the verification results; wherein, the multi-dimensional verification includes document completeness verification, time compliance verification, and collaboration status verification. If the verification result meets the preset submission conditions, the button to submit to the client will be activated, and the updated task document will be submitted to the client for evaluation.

4. The method according to claim 1, characterized in that, The evaluation result also includes "evaluation failed", and the method includes: Record the number of times the client conducts an evaluation after the current evaluation result is "unsatisfactory". Determine if the current number of evaluations is less than the preset maximum number of evaluations. If so, activate the button indicating that the client's evaluation has failed.

5. The method according to claim 4, characterized in that, After the current evaluation result is "evaluation fails", the method further includes: If the preset communication record form shows a document status of "evaluation failed" and "communication record form not completed"; Then activate the instant messaging button; In response to the client's activation of the instant messaging button, an instant messaging session is initiated. In the instant messaging session, the client is guided to fill in the communication content in the preset communication record form through the request to edit, exit editing and countdown mechanisms; After the instant messaging session ends, the content filled in the preset communication record form is fixed and saved as a history.

6. The method according to claim 4, characterized in that, During the project negotiation phase on the project collaboration platform, each task process is assigned a first overdue node, a second overdue node, and a third overdue node. The method also includes: Real-time monitoring of the number of working days consumed for the current task progress; If the number of working days consumed in the current task process reaches the trigger threshold of the first overdue node, save the process record of the first overdue node and update the avatar area and to-do items message. If the number of working days consumed in the current task process reaches the trigger threshold of the second overdue node, save the process record of the second overdue, and update the avatar area and to-do items message. If the number of working days consumed in the current task process reaches the trigger threshold of the third overdue node, the normal status verification process is skipped and the negotiation termination logic is triggered directly. The trigger thresholds for the first, second, and third overdue nodes increase sequentially.

7. The method according to claim 1, characterized in that, The method further includes: In response to the user's editing operation on the target content in the planning document, a document list corresponding to the second document and a total work schedule are generated, wherein the target content includes the number of positions and tasks; Based on the document list and the overall work schedule, configure corresponding access permissions for each task document.

8. A device for negotiating projects between users, characterized in that, Includes a unit for performing the method as described in any one of claims 1-7.

9. A computer device, characterized in that, The computer device includes a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the method as described in any one of claims 1-7.

10. A computer-readable storage medium, characterized in that, The storage medium stores a computer program that, when executed by a processor, can implement the method as described in any one of claims 1-7.