|  |  | 
 |  |  |         :model="editConfig.infomation" | 
 |  |  |         :rules="rules" | 
 |  |  |         label-position="right" | 
 |  |  |         label-width="308px" | 
 |  |  |         label-width="168px" | 
 |  |  |         size="mini" | 
 |  |  |         style="height: 60vh; overflow-x: hidden" | 
 |  |  |       > | 
 |  |  | 
 |  |  |           <div class="basic-info-title">基本信息</div> | 
 |  |  |           <div class="basic-info-view"> | 
 |  |  |             <el-row> | 
 |  |  |               <el-col :span="12"> | 
 |  |  |                 <el-form-item label="服务合同编号" prop="number"> | 
 |  |  |                   <el-input | 
 |  |  |                     v-if=" | 
 |  |  |                       editConfig.title == '编辑' || | 
 |  |  |                       (editConfig.title == '新建' && codenumer && (explain != '' || isIdDisabled)) | 
 |  |  |                     " | 
 |  |  |                     :disabled="editConfig.title == '编辑'" | 
 |  |  |                     v-model="editConfig.infomation.number" | 
 |  |  |                     placeholder="请输入编码" | 
 |  |  |                   > | 
 |  |  |                   </el-input> | 
 |  |  |                   <span v-else-if="editConfig.title == '新建'" style="color: #f56c6c" | 
 |  |  |                     >请优先配置编码规范 <el-button type="text" @click="numberClick"> 配置规范 </el-button></span | 
 |  |  |                   > | 
 |  |  |                   <!-- <WordInput | 
 |  |  |                     v-if="codenumer && (explain != '' || isIdDisabled) && method == 0" | 
 |  |  |                     :codenumer="codenumer" | 
 |  |  |                     :sum="sum" | 
 |  |  |                     :disabled="editConfig.title !== '新建' || isIdDisabled" | 
 |  |  |                     :inputValue="inputValue" | 
 |  |  |                     @codeList="codeList" | 
 |  |  |                   /> | 
 |  |  |                   <span v-else-if="method == 0" style="color: #f56c6c" | 
 |  |  |                     >请优先配置编码规范 <el-button type="text" @click="numberClick"> 配置规范 </el-button></span | 
 |  |  |                   > | 
 |  |  |                   <span v-else>{{ editConfig.title === "新建" ? "自动生成" : editConfig.infomation.number }}</span> --> | 
 |  |  |                 </el-form-item> | 
 |  |  |               </el-col> | 
 |  |  |               <el-col :span="12"> | 
 |  |  |                 <el-form-item label="客户名称" prop="client_name"> | 
 |  |  |                   <div class="custom-name"> | 
 |  |  | 
 |  |  |                       " | 
 |  |  |                       value-key="name" | 
 |  |  |                       @select="handleSelectClient('client', $event)" | 
 |  |  |                       style="width: 100%" | 
 |  |  |                     ></el-autocomplete> | 
 |  |  |                     <div class="common-select-btn" @click="selClientClick('client')"> | 
 |  |  |                       <i class="el-icon-circle-plus-outline" title="选择"></i> | 
 |  |  |                     </div> | 
 |  |  |                     <div class="common-select-btn" @click="clearupClient('client')"> | 
 |  |  |                       <i class="el-icon-edit-outline" title="清除"></i> | 
 |  |  |                     <div | 
 |  |  |                       v-if="editConfig.infomation.client_name && editConfig.infomation.client_name.length > 0" | 
 |  |  |                       class="common-select-btn" | 
 |  |  |                       @click="clearupClient('client')" | 
 |  |  |                     > | 
 |  |  |                       <i class="el-icon-remove-outline" title="清除"></i> | 
 |  |  |                     </div> | 
 |  |  |                   </div> | 
 |  |  |                 </el-form-item> | 
 |  |  |               </el-col> | 
 |  |  |               <el-col :span="12"> | 
 |  |  |                 <el-form-item label="服务合同编号" prop="number"> | 
 |  |  |                   <el-input v-model="editConfig.infomation.number"></el-input> | 
 |  |  |                 </el-form-item> | 
 |  |  |               </el-col> | 
 |  |  |               <el-col :span="12"> | 
 |  |  | 
 |  |  |                     v-model="editConfig.infomation.memberId" | 
 |  |  |                     placeholder="请选择" | 
 |  |  |                     size="mini" | 
 |  |  |                     style="width: 63%" | 
 |  |  |                     style="width: 100%" | 
 |  |  |                   > | 
 |  |  |                     <el-option v-for="item in memberOptions" :key="item.id" :label="item.username" :value="item.id"> | 
 |  |  |                     </el-option> | 
 |  |  | 
 |  |  |                 </el-form-item> | 
 |  |  |               </el-col> | 
 |  |  |               <el-col :span="12"> | 
 |  |  |                 <el-form-item label="联系人姓名" prop="contactId"> | 
 |  |  |                 <el-form-item label="联系人姓名" prop="contact_name"> | 
 |  |  |                   <div class="custom-name"> | 
 |  |  |                     <el-autocomplete | 
 |  |  |                       v-model="editConfig.infomation.contact_name" | 
 |  |  | 
 |  |  |                       " | 
 |  |  |                       value-key="name" | 
 |  |  |                       @select="handleSelectClient('contact', $event)" | 
 |  |  |                       style="width: 100%" | 
 |  |  |                     ></el-autocomplete> | 
 |  |  |                     <div class="common-select-btn" @click="selClientClick('contact')"> | 
 |  |  |                       <i class="el-icon-circle-plus-outline" title="选择"></i> | 
 |  |  |                     </div> | 
 |  |  |                     <div class="common-select-btn" @click="clearupClient('contact')"> | 
 |  |  |                       <i class="el-icon-edit-outline" title="清除"></i> | 
 |  |  |                     <div | 
 |  |  |                       v-if="editConfig.infomation.contact_name && editConfig.infomation.contact_name.length > 0" | 
 |  |  |                       class="common-select-btn" | 
 |  |  |                       @click="clearupClient('contact')" | 
 |  |  |                     > | 
 |  |  |                       <i class="el-icon-remove-outline" title="清除"></i> | 
 |  |  |                     </div> | 
 |  |  |                   </div> | 
 |  |  |                 </el-form-item> | 
 |  |  |               </el-col> | 
 |  |  |               <el-col :span="12"> | 
 |  |  |                 <el-form-item label="销售机会" prop="saleChanceId"> | 
 |  |  |                 <el-form-item label="销售机会" prop="sale_chance_name"> | 
 |  |  |                   <div class="custom-name"> | 
 |  |  |                     <el-autocomplete | 
 |  |  |                       v-model="editConfig.infomation.sale_chance_name" | 
 |  |  | 
 |  |  |                       " | 
 |  |  |                       value-key="name" | 
 |  |  |                       @select="handleSelectClient('chance', $event)" | 
 |  |  |                       style="width: 100%" | 
 |  |  |                     ></el-autocomplete> | 
 |  |  |                     <div class="common-select-btn" @click="selClientClick('chance')"> | 
 |  |  |                       <i class="el-icon-circle-plus-outline"></i> | 
 |  |  |                     </div> | 
 |  |  |                     <div class="common-select-btn" @click="clearupClient('chance')"> | 
 |  |  |                       <i class="el-icon-edit-outline"></i> | 
 |  |  |                     <div | 
 |  |  |                       v-if="editConfig.infomation.sale_chance_name && editConfig.infomation.sale_chance_name.length > 0" | 
 |  |  |                       class="common-select-btn" | 
 |  |  |                       @click="clearupClient('chance')" | 
 |  |  |                     > | 
 |  |  |                       <i class="el-icon-remove-outline"></i> | 
 |  |  |                     </div> | 
 |  |  |                   </div> | 
 |  |  |                 </el-form-item> | 
 |  |  |               </el-col> | 
 |  |  |               <el-col :span="12"> | 
 |  |  |                 <el-form-item label="合同订单" prop="contractId"> | 
 |  |  |                 <el-form-item label="合同订单" prop="contract_number"> | 
 |  |  |                   <div class="custom-name"> | 
 |  |  |                     <el-autocomplete | 
 |  |  |                       v-model="editConfig.infomation.contract_number" | 
 |  |  | 
 |  |  |                       " | 
 |  |  |                       value-key="number" | 
 |  |  |                       @select="handleSelectClient('contract', $event)" | 
 |  |  |                       style="width: 100%" | 
 |  |  |                     ></el-autocomplete> | 
 |  |  |                     <div class="common-select-btn" @click="selClientClick('contract')"> | 
 |  |  |                       <i class="el-icon-circle-plus-outline" title="选择"></i> | 
 |  |  |                     </div> | 
 |  |  |                     <div class="common-select-btn" @click="clearupClient('contract')"> | 
 |  |  |                       <i class="el-icon-edit-outline" title="清除"></i> | 
 |  |  |                     <div | 
 |  |  |                       v-if="editConfig.infomation.contract_number && editConfig.infomation.contract_number.length > 0" | 
 |  |  |                       class="common-select-btn" | 
 |  |  |                       @click="clearupClient('contract')" | 
 |  |  |                     > | 
 |  |  |                       <i class="el-icon-remove-outline" title="清除"></i> | 
 |  |  |                     </div> | 
 |  |  |                   </div> | 
 |  |  |                 </el-form-item> | 
 |  |  |               </el-col> | 
 |  |  |               <el-col :span="12"> | 
 |  |  |                 <el-form-item label="报价单" prop="quotationId"> | 
 |  |  |                 <el-form-item label="报价单" prop="quotation_number"> | 
 |  |  |                   <div class="custom-name"> | 
 |  |  |                     <el-autocomplete | 
 |  |  |                       v-model="editConfig.infomation.quotation_number" | 
 |  |  | 
 |  |  |                       " | 
 |  |  |                       value-key="number" | 
 |  |  |                       @select="handleSelectClient('quotation', $event)" | 
 |  |  |                       style="width: 100%" | 
 |  |  |                     ></el-autocomplete> | 
 |  |  |                     <div class="common-select-btn" @click="selClientClick('quotation')"> | 
 |  |  |                       <i class="el-icon-circle-plus-outline" title="选择"></i> | 
 |  |  |                     </div> | 
 |  |  |                     <div class="common-select-btn" @click="clearupClient('quotation')"> | 
 |  |  |                       <i class="el-icon-edit-outline" title="清除"></i> | 
 |  |  |                     <div | 
 |  |  |                       v-if="editConfig.infomation.quotation_number && editConfig.infomation.quotation_number.length > 0" | 
 |  |  |                       class="common-select-btn" | 
 |  |  |                       @click="clearupClient('quotation')" | 
 |  |  |                     > | 
 |  |  |                       <i class="el-icon-remove-outline" title="清除"></i> | 
 |  |  |                     </div> | 
 |  |  |                   </div> | 
 |  |  |                 </el-form-item> | 
 |  |  |               </el-col> | 
 |  |  |               <el-col :span="12"> | 
 |  |  |                 <el-form-item label="合同类型" prop="typeId"> | 
 |  |  |                 <el-form-item label="合同类型" prop="serviceContractTypeId"> | 
 |  |  |                   <div class="common-select"> | 
 |  |  |                     <el-select | 
 |  |  |                       v-model="editConfig.infomation.typeId" | 
 |  |  |                       v-model="editConfig.infomation.serviceContractTypeId" | 
 |  |  |                       placeholder="请选择" | 
 |  |  |                       class="common-select-sel" | 
 |  |  |                       size="mini" | 
 |  |  |                       style="width: 100%" | 
 |  |  |                     > | 
 |  |  |                       <el-option v-for="item in contractTypeOptions" :key="item.id" :label="item.name" :value="item.id"> | 
 |  |  |                       </el-option> | 
 |  |  | 
 |  |  |                     value-format="yyyy-MM-dd" | 
 |  |  |                     type="date" | 
 |  |  |                     placeholder="选择日期" | 
 |  |  |                     style="width: 100%" | 
 |  |  |                   > | 
 |  |  |                   </el-date-picker> | 
 |  |  |                 </el-form-item> | 
 |  |  | 
 |  |  |                     value-format="yyyy-MM-dd" | 
 |  |  |                     type="date" | 
 |  |  |                     placeholder="选择日期" | 
 |  |  |                     style="width: 100%" | 
 |  |  |                   > | 
 |  |  |                   </el-date-picker> | 
 |  |  |                 </el-form-item> | 
 |  |  | 
 |  |  |                     value-format="yyyy-MM-dd" | 
 |  |  |                     type="date" | 
 |  |  |                     placeholder="选择日期" | 
 |  |  |                     style="width: 100%" | 
 |  |  |                   > | 
 |  |  |                   </el-date-picker> | 
 |  |  |                 </el-form-item> | 
 |  |  | 
 |  |  |           <div class="basic-info-view"> | 
 |  |  |             <el-row> | 
 |  |  |               <el-col :span="12"> | 
 |  |  |                 <el-form-item label="合同状态" prop="statusId"> | 
 |  |  |                 <el-form-item label="合同状态" prop="serviceContractStatusId"> | 
 |  |  |                   <div class="common-select"> | 
 |  |  |                     <el-select | 
 |  |  |                       v-model="editConfig.infomation.statusId" | 
 |  |  |                       v-model="editConfig.infomation.serviceContractStatusId" | 
 |  |  |                       placeholder="请选择" | 
 |  |  |                       class="common-select-sel" | 
 |  |  |                       size="mini" | 
 |  |  |                       style="width: 100%" | 
 |  |  |                     > | 
 |  |  |                       <el-option | 
 |  |  |                         v-for="item in contractStatusOptions" | 
 |  |  | 
 |  |  |               </el-col> | 
 |  |  |               <el-col :span="12"> | 
 |  |  |                 <el-form-item label="应服务次数" prop="serviceTimes"> | 
 |  |  |                   <el-input v-model="editConfig.infomation.serviceTimes"></el-input> | 
 |  |  |                   <el-input-number | 
 |  |  |                     v-model="editConfig.infomation.serviceTimes" | 
 |  |  |                     placeholder="请输入" | 
 |  |  |                     :min="0" | 
 |  |  |                     :precision="2" | 
 |  |  |                     :controls="false" | 
 |  |  |                     style="width: 100%" | 
 |  |  |                   ></el-input-number> | 
 |  |  |                 </el-form-item> | 
 |  |  |               </el-col> | 
 |  |  |             </el-row> | 
 |  |  | 
 |  |  |             <CommonFormTableView | 
 |  |  |               :show-summary="showSummary" | 
 |  |  |               :product-table-list="productTableList" | 
 |  |  |               @inputContent="inputContent" | 
 |  |  |               @addProductClick="addProductClick" | 
 |  |  |               @emptyProductClick="emptyProductClick" | 
 |  |  |               @recalculateProductClick="recalculateProductClick" | 
 |  |  |               @clearupProduct="clearupProduct" | 
 |  |  |             /> | 
 |  |  |           </div> | 
 |  |  |           <!-- 选择审批流程 --> | 
 |  |  | 
 |  |  | import SelectContactDialog from "@/views/other/commonDialog/SelectContactDialog" | 
 |  |  | import SelectChanceDialog from "@/views/other/commonDialog/SelectChanceDialog" | 
 |  |  | import SelectCommonDialog from "@/views/other/commonDialog/SelectCommonDialog" | 
 |  |  | import codeMixin from "@/components/makepager/mixin/codeMixin" | 
 |  |  | export default { | 
 |  |  |   name: "AddServiceContractDialog", | 
 |  |  |   mixins: [codeMixin], | 
 |  |  |   props: { | 
 |  |  |     editCommonConfig: { | 
 |  |  |       type: Object, | 
 |  |  | 
 |  |  |   }, | 
 |  |  |   data() { | 
 |  |  |     return { | 
 |  |  |       dialogWidth: "80%", | 
 |  |  |       dialogWidth: "50%", | 
 |  |  |       editConfig: this.editCommonConfig, | 
 |  |  |       rules: { | 
 |  |  |         number: [{ required: true, message: "请输入服务合同编号", trigger: "blur" }], | 
 |  |  |         number: [{ required: true, validator: this.validateCheckCode, trigger: ["blur", "change"] }], | 
 |  |  |         client_name: [{ required: true, message: "请选择客户名称", trigger: "change" }], | 
 |  |  |         signTime: [{ required: true, message: "请选择", trigger: "change" }], | 
 |  |  |         memberId: [{ required: true, message: "请选择负责人", trigger: "change" }] | 
 |  |  |         memberId: [{ required: true, validator: this.validateMemberId, trigger: "change" }] | 
 |  |  |       }, | 
 |  |  |       memberOptions: [], | 
 |  |  |       contractTypeOptions: [], // 合同类型 | 
 |  |  |       contractStatusOptions: [], // 合同状态 | 
 |  |  |       currencyOptions: [ | 
 |  |  |         { value: "1", label: "人民币(¥)" }, | 
 |  |  |         { value: "2", label: "英镑(£)" }, | 
 |  |  |         { value: "3", label: "欧元(€)" } | 
 |  |  |       ], // 币种 | 
 |  |  |       currencyOptions: [{ id: 1, name: "人民币" }], // 币种 | 
 |  |  |       approvalWorkflowOptions: [], // 审批流程 | 
 |  |  |       productTableList: {}, | 
 |  |  |       showSummary: { | 
 |  |  |         show: true, | 
 |  |  |         total: true, | 
 |  |  |         sumProp: ["other1", "other2", "other3", "other4"], | 
 |  |  |         mergeNumber: 3 | 
 |  |  |         sumProp: ["Amount", "Unit", "total"], | 
 |  |  |         mergeNumber: 2 | 
 |  |  |       }, | 
 |  |  |       editSelectClientConfig: { | 
 |  |  |         editVisible: false, | 
 |  |  | 
 |  |  |       saleChanceId: this.editCommonConfig.infomation.saleChanceId, | 
 |  |  |       contractId: this.editCommonConfig.infomation.salesDetailsId, | 
 |  |  |       quotationId: this.editCommonConfig.infomation.quotationId, | 
 |  |  |       tableData: [] | 
 |  |  |       tableData: [], | 
 |  |  |       productId: 1, | 
 |  |  |       isNoProduct: true | 
 |  |  |     } | 
 |  |  |   }, | 
 |  |  |   created() { | 
 |  |  | 
 |  |  |     this.$store.dispatch("geQuotation") | 
 |  |  |     this.setTableForm() | 
 |  |  |     this.getCommonData() | 
 |  |  |     this.formInfo() | 
 |  |  |   }, | 
 |  |  |   watch: { | 
 |  |  |     "editCommonConfig.visible"(val) { | 
 |  |  |       if (val) { | 
 |  |  |         this.formInfo() | 
 |  |  |       } | 
 |  |  |     } | 
 |  |  |   }, | 
 |  |  |   methods: { | 
 |  |  |     formInfo() { | 
 |  |  |       this.objCode.type = "服务合同编码" | 
 |  |  |       this.objCode.codeStandID = "" | 
 |  |  |       if (this.editConfig.infomation.codeStandID) { | 
 |  |  |         this.objCode.codeStandID = this.editConfig.infomation.codeStandID | 
 |  |  |       } | 
 |  |  |       this.getRCodeStandardList() | 
 |  |  |     }, | 
 |  |  |     getCommonData() { | 
 |  |  |       getAllData() | 
 |  |  |         .then((res) => { | 
 |  |  |           if (res.code === 200) { | 
 |  |  |             this.memberOptions = res.data.member | 
 |  |  |             // this.$set(this.editConfig.infomation, "memberId", this.editConfig.infomation.memberId) | 
 |  |  |             if (this.editConfig.title === "新建") { | 
 |  |  |               let username = document.cookie.replace(/(?:(?:^|.*;\s*)username\s*=\s*([^;]*).*$)|^.*$/, "$1") | 
 |  |  |               this.memberOptions.map((item) => { | 
 |  |  |                 if (item.username == username) { | 
 |  |  |                   this.$set(this.editConfig.infomation, "memberId", item.id) | 
 |  |  |                 } | 
 |  |  |               }) | 
 |  |  |             } | 
 |  |  |             this.contractTypeOptions = res.data.serviceContractType | 
 |  |  |             this.$set( | 
 |  |  |               this.editConfig.infomation, | 
 |  |  |               "serviceContractTypeId", | 
 |  |  |               this.editConfig.infomation.serviceContractTypeId | 
 |  |  |             ) | 
 |  |  |             this.contractStatusOptions = res.data.serviceContractStatus | 
 |  |  |             this.currencyOptions = res.data.currency | 
 |  |  |             this.$set( | 
 |  |  |               this.editConfig.infomation, | 
 |  |  |               "serviceContractStatusId", | 
 |  |  |               this.editConfig.infomation.serviceContractStatusId | 
 |  |  |             ) | 
 |  |  |             // this.currencyOptions = res.data.currency | 
 |  |  |           } | 
 |  |  |         }) | 
 |  |  |         .catch((err) => { | 
 |  |  | 
 |  |  |       this.$refs[formName].validate((valid) => { | 
 |  |  |         if (valid) { | 
 |  |  |           console.log(this.editConfig.infomation) | 
 |  |  |           const params = this.saveParams() | 
 |  |  |           console.log(params) | 
 |  |  |           if (this.editConfig.title === "新建") { | 
 |  |  |             getAddServiceContract(params).then((res) => { | 
 |  |  |               console.log(res) | 
 |  |  |               this.editConfig.visible = false | 
 |  |  |               if (res.code === 200) { | 
 |  |  |                 this.$message.success("添加成功") | 
 |  |  |                 this.$parent.getData() | 
 |  |  |               } | 
 |  |  |             }) | 
 |  |  |           for (let i = 0; i < this.tableData.length; i++) { | 
 |  |  |             if (this.tableData[i].name.length === 0) { | 
 |  |  |               this.isNoProduct = true | 
 |  |  |               break | 
 |  |  |             } else { | 
 |  |  |               this.isNoProduct = false | 
 |  |  |             } | 
 |  |  |           } | 
 |  |  |           if (this.isNoProduct) { | 
 |  |  |             this.$message.error("产品名称不能为空") | 
 |  |  |           } else { | 
 |  |  |             getUpdateServiceContract(params).then((res) => { | 
 |  |  |               console.log(res) | 
 |  |  |               this.editConfig.visible = false | 
 |  |  |               if (res.code === 200) { | 
 |  |  |                 this.$message.success("编辑成功") | 
 |  |  |                 this.$parent.getData() | 
 |  |  |               } | 
 |  |  |             }) | 
 |  |  |             const params = this.saveParams() | 
 |  |  |             if (this.editConfig.title === "新建") { | 
 |  |  |               getAddServiceContract(params).then((res) => { | 
 |  |  |                 console.log(res) | 
 |  |  |                 this.editConfig.visible = false | 
 |  |  |                 if (res.code === 200) { | 
 |  |  |                   this.$message.success("添加成功") | 
 |  |  |                   this.$parent.getData() | 
 |  |  |                 } | 
 |  |  |               }) | 
 |  |  |             } else { | 
 |  |  |               getUpdateServiceContract(params).then((res) => { | 
 |  |  |                 console.log(res) | 
 |  |  |                 this.editConfig.visible = false | 
 |  |  |                 if (res.code === 200) { | 
 |  |  |                   this.$message.success("编辑成功") | 
 |  |  |                   this.$parent.getData() | 
 |  |  |                 } | 
 |  |  |               }) | 
 |  |  |             } | 
 |  |  |           } | 
 |  |  |         } else { | 
 |  |  |           console.log("error submit") | 
 |  |  | 
 |  |  |         endTime: data.endTime || "", | 
 |  |  |         memberId: data.memberId || 0, | 
 |  |  |         number: data.number || "", | 
 |  |  |         products: [ | 
 |  |  |           { | 
 |  |  |             amount: 0, | 
 |  |  |             desc: "", | 
 |  |  |             id: 0, | 
 |  |  |             name: "", | 
 |  |  |             number: "", | 
 |  |  |             price: 0, | 
 |  |  |             total: 0 | 
 |  |  |           } | 
 |  |  |         ], | 
 |  |  |         products: this.tableData, | 
 |  |  |         quotationId: this.quotationId || 0, | 
 |  |  |         remark: data.remark || "", | 
 |  |  |         saleChanceId: this.saleChanceId || 0, | 
 |  |  | 
 |  |  |         serviceTimes: data.serviceTimes || 0, | 
 |  |  |         signTime: data.signTime || "", | 
 |  |  |         startTime: data.startTime || "", | 
 |  |  |         statusId: data.statusId || 0, | 
 |  |  |         statusId: 0, | 
 |  |  |         terms: data.terms || "", | 
 |  |  |         typeId: data.typeId || 0 | 
 |  |  |         typeId: 0, | 
 |  |  |         serviceContractTypeId: data.serviceContractTypeId || 0, | 
 |  |  |         serviceContractStatusId: data.serviceContractStatusId || 0, | 
 |  |  |         codeStandID: data.ID | 
 |  |  |       } | 
 |  |  |       return params | 
 |  |  |     }, | 
 |  |  | 
 |  |  |     // 设置允许上传文件格式 | 
 |  |  |     setFormatClick() {}, | 
 |  |  |     setTableForm() { | 
 |  |  |       if (this.editConfig.title === "新建") { | 
 |  |  |       if (this.editConfig.title === "新建" || this.editConfig.infomation.products.length === 0) { | 
 |  |  |         this.tableData = [ | 
 |  |  |           { | 
 |  |  |             Amount: 0, | 
 |  |  |             IsSale: true, | 
 |  |  |             MaterialMode: "", | 
 |  |  |             MinInventory: 0, | 
 |  |  |             Name: "", | 
 |  |  |             Number: "", | 
 |  |  |             PurchaseType: "", | 
 |  |  |             SalePrice: 0, | 
 |  |  |             Unit: "" | 
 |  |  |             productId: this.productId, | 
 |  |  |             id: 0, | 
 |  |  |             amount: 0, | 
 |  |  |             desc: "", | 
 |  |  |             name: "", | 
 |  |  |             number: "", | 
 |  |  |             price: 0, | 
 |  |  |             total: 0, | 
 |  |  |             unit: "" | 
 |  |  |           } | 
 |  |  |         ] | 
 |  |  |       } else { | 
 |  |  |         this.tableData = this.editConfig.infomation.products | 
 |  |  |         this.tableData.map((item, index) => { | 
 |  |  |           item.productId = index + 1 | 
 |  |  |         }) | 
 |  |  |       } | 
 |  |  |       this.productTableList = { | 
 |  |  |         tableData: this.tableData, | 
 |  |  |         tableColumn: [ | 
 |  |  |           { label: "#", prop: "id", width: 40 }, | 
 |  |  |           { label: "产品名称", prop: "Name", input: true, isRequird: true }, | 
 |  |  |           { label: "产品编号", prop: "Number" }, | 
 |  |  |           { label: "服务开始日", prop: "other5", date: true, isRequird: true, min: 100 }, | 
 |  |  |           { label: "服务到期日", prop: "other6", date: true, isRequird: true, min: 100 }, | 
 |  |  |           { label: "数量", prop: "amount", input: true, isRequird: true }, | 
 |  |  |           { label: "销售单价", prop: "Unit", input: true }, | 
 |  |  |           { label: "价税合计", prop: "other3", input: true }, | 
 |  |  |           { label: "描述", prop: "other8" } | 
 |  |  |           { label: "#", prop: "productId", width: 40 }, | 
 |  |  |           { label: "产品名称", prop: "name", productName: true, isRequird: true }, | 
 |  |  |           { label: "产品编号", prop: "number" }, | 
 |  |  |           { label: "数量", prop: "amount", inputNumber: true, isRequird: true }, | 
 |  |  |           { label: "单位", prop: "unit" }, | 
 |  |  |           { label: "销售单价", prop: "price", inputFloat: true }, | 
 |  |  |           { label: "价税合计", prop: "total", inputFloat: true } | 
 |  |  |         ] | 
 |  |  |       } | 
 |  |  |     }, | 
 |  |  |     addProductClick() { | 
 |  |  |       this.tableData.push({ | 
 |  |  |         Amount: 0, | 
 |  |  |         IsSale: true, | 
 |  |  |         MaterialMode: "", | 
 |  |  |         MinInventory: 0, | 
 |  |  |         Name: "", | 
 |  |  |         Number: "", | 
 |  |  |         PurchaseType: "", | 
 |  |  |         SalePrice: 0, | 
 |  |  |         Unit: "" | 
 |  |  |     // 产品列表输入 | 
 |  |  |     inputContent(val, prop, row) { | 
 |  |  |       this.productId = row.productId | 
 |  |  |       this.tableData.map((item) => { | 
 |  |  |         if (item.productId === row.productId) { | 
 |  |  |           item[prop] = val | 
 |  |  |         } | 
 |  |  |       }) | 
 |  |  |     }, | 
 |  |  |     // 产品新增 | 
 |  |  |     addProductClick() { | 
 |  |  |       this.productId++ | 
 |  |  |       this.tableData.push({ | 
 |  |  |         productId: this.productId, | 
 |  |  |         id: 0, | 
 |  |  |         amount: 0, | 
 |  |  |         desc: "", | 
 |  |  |         name: "", | 
 |  |  |         number: "", | 
 |  |  |         price: 0, | 
 |  |  |         total: 0, | 
 |  |  |         unit: "" | 
 |  |  |       }) | 
 |  |  |       this.showSummary.show = true | 
 |  |  |     }, | 
 |  |  |     //  产品清空 | 
 |  |  |     emptyProductClick() { | 
 |  |  |       this.productId = 1 | 
 |  |  |       this.tableData = [ | 
 |  |  |         { | 
 |  |  |           productId: this.productId, | 
 |  |  |           id: 0, | 
 |  |  |           amount: 0, | 
 |  |  |           desc: "", | 
 |  |  |           name: "", | 
 |  |  |           number: "", | 
 |  |  |           price: 0, | 
 |  |  |           total: 0, | 
 |  |  |           unit: "" | 
 |  |  |         } | 
 |  |  |       ] | 
 |  |  |       this.productTableList.tableData = this.tableData | 
 |  |  |     }, | 
 |  |  |     // 产品重算 | 
 |  |  |     recalculateProductClick() {}, | 
 |  |  |     clearupProduct(data) { | 
 |  |  |       this.tableData = data | 
 |  |  |       this.productTableList.tableData = this.tableData | 
 |  |  |     }, | 
 |  |  |     // 负责人自定义校验规则 | 
 |  |  |     validateMemberId(rule, value, callback) { | 
 |  |  |       if (this.editConfig.infomation?.memberId > 0) { | 
 |  |  |         callback() | 
 |  |  |       } else { | 
 |  |  |         callback(new Error("请输入负责人")) | 
 |  |  |       } | 
 |  |  |     } | 
 |  |  |   } | 
 |  |  | } | 
 |  |  | 
 |  |  |       height: 55px; | 
 |  |  |       line-height: 55px; | 
 |  |  |     } | 
 |  |  |     .el-input__inner { | 
 |  |  |       text-align: left; | 
 |  |  |     } | 
 |  |  |   } | 
 |  |  | } | 
 |  |  | </style> |