zhouwx
2025-09-23 9fdacd08e16d567d3291288c5d20ea4ec612911f
src/views/work/marketingManagement/contractManagement/contractChange/components/editDialog.vue
@@ -25,7 +25,7 @@
        </el-row>
        <el-row :gutter="24">
          <el-col :span="24">
            <el-form-item label="评审类型:" prop="year" >
            <el-form-item label="评审类型:" prop="type" >
              <el-select clearable v-model="state.form.type" :disabled="title =='查看'" filterable>
                <el-option
                    v-for="item in state.typeList"
@@ -39,21 +39,22 @@
        </el-row>
        <el-row :gutter="24">
          <el-col :span="8">
            <el-form-item label="合同:" prop="year" >
            <el-form-item label="合同:" prop="contractId" >
              <el-select clearable v-model="state.form.contractId" :disabled="title =='查看'" filterable>
                <el-option
                    v-for="item in state.contractList"
                    :key="item.id"
                    :label="item.name"
                    :label="item.contractName"
                    :value="item.id"
                />
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="记录日期:" prop="year" >
            <el-form-item label="记录日期:" prop="recordTime" >
              <el-date-picker
                  v-model="state.form.fictionTime"
                  :disabled="title =='查看'"
                  v-model="state.form.recordTime"
                  type="date"
                  value-format="YYYY-MM-DD"
                  placeholder="请选择记录日期"
@@ -61,8 +62,8 @@
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="记录人:" prop="year">
              <el-select clearable v-model="state.form.personId" :disabled="title =='查看'" filterable  style="width: 240px;margin-bottom: 5px">
            <el-form-item label="记录人:" prop="registrantId">
              <el-select clearable v-model="state.form.registrantId" :disabled="title =='查看'" filterable  style="width: 240px;margin-bottom: 5px">
                <el-option
                    v-for="item in state.peopleList"
                    :key="item.id"
@@ -80,24 +81,24 @@
        </el-row>
        <el-row :gutter="24">
          <el-col :span="8">
            <el-form-item label="名称:" prop="year" >
              <el-input  :disabled="title === '查看'"  v-model="state.form.name" placeholder="名称"></el-input>
            <el-form-item label="名称:" prop="customerName" >
              <el-input  :disabled="title === '查看'"  v-model="state.form.customerName" placeholder="名称"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="联系人:" prop="year" >
              <el-input  :disabled="title === '查看'"  v-model="state.form.name" placeholder="联系人"></el-input>
            <el-form-item label="联系人:" prop="customerUser" >
              <el-input  :disabled="title === '查看'"  v-model="state.form.customerUser" placeholder="联系人"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="电话:" prop="year" >
              <el-input  :disabled="title === '查看'"  v-model="state.form.name" placeholder="电话"></el-input>
            <el-form-item label="电话:" prop="costomerPhone" >
              <el-input  :disabled="title === '查看'"  v-model="state.form.costomerPhone" placeholder="电话"></el-input>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row :gutter="24">
          <el-col :span="24">
            <el-form-item label="顾客明示的要求及用途(订货产品信息):" prop="expectContents" >
            <el-form-item label="顾客明示的要求及用途(订货产品信息):" prop="contractReviewRequires" >
              <el-button
                  :disabled="title === '查看'"
                  type="primary"
@@ -105,40 +106,40 @@
                  style="margin-left: 10px;margin-bottom: 10px"
              >新增</el-button>
              <div style="display: flex;width: 100%;">
                <el-table :data="state.form.expectContents" :border="true" >
                <el-table :data="state.form.contractReviewRequires" :border="true" >
                  <el-table-column type="index" label="序号"  align="center"></el-table-column>
                  <el-table-column label="产品名称" prop="name" align="center" width="150">
                  <el-table-column label="产品名称" prop="name" align="center" >
                    <template  #default="{row,$index}">
                      <el-form-item :prop="'expectContents.' + '[' + $index + ']' + 'name'" :rules="state.rules.name">
                        <el-input style="margin-top: 10px" :disabled="title === '查看'" type="textarea" :rows="2" v-model="row.name" placeholder="请输入"></el-input>
                      <el-form-item :prop="'contractReviewRequires.' + '[' + $index + ']' + 'productName'" :rules="state.rules.productName">
                        <el-input style="margin-top: 10px" :disabled="title === '查看'" type="textarea" :rows="2" v-model="row.productName" placeholder="请输入"></el-input>
                      </el-form-item>
                    </template>
                  </el-table-column>
                  <el-table-column label="规格型号" prop="name" align="center" width="150">
                  <el-table-column label="规格型号" prop="specification" align="center" >
                    <template  #default="{row,$index}">
                      <el-form-item :prop="'expectContents.' + '[' + $index + ']' + 'name'" :rules="state.rules.name">
                        <el-input style="margin-top: 10px" :disabled="title === '查看'" type="textarea" :rows="2" v-model="row.name" placeholder="请输入"></el-input>
                      <el-form-item :prop="'contractReviewRequires.' + '[' + $index + ']' + 'specification'" :rules="state.rules.specification">
                        <el-input style="margin-top: 10px" :disabled="title === '查看'" type="textarea" :rows="2" v-model="row.specification" placeholder="请输入"></el-input>
                      </el-form-item>
                    </template>
                  </el-table-column>
                  <el-table-column label="数量" prop="name" align="center" width="150">
                  <el-table-column label="数量" prop="amount" align="center" >
                    <template  #default="{row,$index}">
                      <el-form-item :prop="'expectContents.' + '[' + $index + ']' + 'name'" :rules="state.rules.name">
                        <el-input style="margin-top: 10px" :disabled="title === '查看'" type="textarea" :rows="2" v-model="row.name" placeholder="请输入"></el-input>
                      <el-form-item :prop="'contractReviewRequires.' + '[' + $index + ']' + 'amount'" :rules="state.rules.amount">
                        <el-input style="margin-top: 10px" :disabled="title === '查看'" @input="row.amount = row.amount.replace(/[^0-9]/g,'')" type="textarea" :rows="2" v-model="row.amount" placeholder="请输入"></el-input>
                      </el-form-item>
                    </template>
                  </el-table-column>
                  <el-table-column label="单价" prop="name" align="center" width="150">
                  <el-table-column label="单价" prop="price" align="center" >
                    <template  #default="{row,$index}">
                      <el-form-item :prop="'expectContents.' + '[' + $index + ']' + 'name'" :rules="state.rules.name">
                        <el-input style="margin-top: 10px" :disabled="title === '查看'" type="textarea" :rows="2" v-model="row.name" placeholder="请输入"></el-input>
                      <el-form-item :prop="'contractReviewRequires.' + '[' + $index + ']' + 'price'" :rules="state.rules.price">
                        <el-input style="margin-top: 10px" :disabled="title === '查看'"  type="textarea" :rows="2" @input="row.price= row.price.replace(/[^\d.]/g, '') .replace(/\.+/g, '.').replace(/^\./, '0.').replace(/^(\d*\.?\d{0,2}).*/, '$1')" v-model="row.price" placeholder="请输入"></el-input>
                      </el-form-item>
                    </template>
                  </el-table-column>
                  <el-table-column label="其他" prop="name" align="center" width="150">
                  <el-table-column label="其他" prop="remark" align="center" >
                    <template  #default="{row,$index}">
                      <el-form-item :prop="'expectContents.' + '[' + $index + ']' + 'name'" :rules="state.rules.name">
                        <el-input style="margin-top: 10px" :disabled="title === '查看'" type="textarea" :rows="2" v-model="row.name" placeholder="请输入"></el-input>
                      <el-form-item :prop="'contractReviewRequires.' + '[' + $index + ']' + 'remark'" :rules="state.rules.remark">
                        <el-input style="margin-top: 10px" :disabled="title === '查看'" type="textarea" :rows="2" v-model="row.remark" placeholder="请输入"></el-input>
                      </el-form-item>
                    </template>
                  </el-table-column>
@@ -155,9 +156,10 @@
        </el-row>
        <el-row :gutter="24">
          <el-col :span="12">
            <el-form-item label="交货期限:" prop="expectContents" >
            <el-form-item label="交货期限:" prop="deliveryTime" >
              <el-date-picker
                  v-model="state.form.fictionTime"
                  :disabled="title =='查看'"
                  v-model="state.form.deliveryTime"
                  type="date"
                  value-format="YYYY-MM-DD"
                  placeholder="请选择记录日期"
@@ -165,40 +167,40 @@
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="交付方式:" prop="expectContents" >
              <el-input  :disabled="title === '查看'"  v-model="state.form.name" placeholder="交付方式"></el-input>
            <el-form-item label="交付方式:" prop="deliveryType" >
              <el-input  :disabled="title === '查看'"  v-model="state.form.deliveryType" placeholder="交付方式"></el-input>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row :gutter="24">
          <el-col :span="12">
            <el-form-item label="交货地址:" prop="expectContents" >
              <el-input  :disabled="title === '查看'"  v-model="state.form.name" placeholder="交货地址"></el-input>
            <el-form-item label="交货地址:" prop="deliveryAddr" >
              <el-input  :disabled="title === '查看'"  v-model="state.form.deliveryAddr" placeholder="交货地址"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="付款方式:" prop="expectContents" >
              <el-input  :disabled="title === '查看'"  v-model="state.form.name" placeholder="付款方式"></el-input>
            <el-form-item label="付款方式:" prop="payType" >
              <el-input  :disabled="title === '查看'"  v-model="state.form.payType" placeholder="付款方式"></el-input>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row :gutter="24">
          <el-col :span="24">
            <el-form-item label="产品和服务要求及其他要求:(或变更内容):" prop="expectContents" >
              <el-input  :disabled="title === '查看'" type="textarea" :rows="4"  v-model="state.form.name" placeholder=""></el-input>
            <el-form-item label="产品和服务要求及其他要求:(或变更内容):" prop="productMess" >
              <el-input  :disabled="title === '查看'" type="textarea" :rows="4"  v-model="state.form.productMess" placeholder=""></el-input>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row :gutter="24">
          <el-col :span="24">
            <el-form-item label="风险识别:" prop="expectContents" >
              <el-input  :disabled="title === '查看'" type="textarea" :rows="4"  v-model="state.form.name" placeholder=""></el-input>
            <el-form-item label="风险识别:" prop="riskMess" >
              <el-input  :disabled="title === '查看'" type="textarea" :rows="4"  v-model="state.form.riskMess" placeholder=""></el-input>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row :gutter="24">
          <el-col :span="24">
            <el-form-item :label="state.form.type == 1 ? '评审内容' :'变更内容' " prop="expectContentsX" >
            <el-form-item :label="state.form.type == 1 ? '评审内容' :state.form.type == 2?'变更内容':'内容' " prop="reviewMesses" >
              <el-button
                  :disabled="title === '查看'"
                  type="primary"
@@ -206,38 +208,38 @@
                  style="margin-left: 10px;margin-bottom: 10px"
              >新增</el-button>
              <div style="display: flex;width: 100%;">
                <el-table :data="state.form.expectContentsX" :border="true" >
                <el-table :data="state.form.reviewMesses" :border="true" >
                  <el-table-column type="index" label="序号"  align="center"></el-table-column>
                  <el-table-column :label="state.form.type == 1 ? '评审部门' :'变更部门' " prop="name" align="center" width="150">
                  <el-table-column :label="state.form.type == 1 ? '评审部门' :'变更部门' " prop="deptName" align="center" >
                    <template  #default="{row,$index}">
                      <el-form-item :prop="'expectContentsX.' + '[' + $index + ']' + 'name'" :rules="state.rules.name">
                        <el-input style="margin-top: 10px" :disabled="title === '查看'" type="textarea" :rows="4" v-model="row.name" placeholder="请输入"></el-input>
                      <el-form-item :prop="'reviewMesses.' + '[' + $index + ']' + 'deptName'" :rules="state.rules.deptName">
                        <el-input style="margin-top: 10px" :disabled="title === '查看'" type="textarea" :rows="4" v-model="row.deptName" placeholder="请输入"></el-input>
                      </el-form-item>
                    </template>
                  </el-table-column>
                  <el-table-column :label="state.form.type == 1 ? '评审内容(含风险)' :'变更内容(含风险)' " prop="need" align="center" width="150">
                  <el-table-column :label="state.form.type == 1 ? '评审内容(含风险)' :'变更内容(含风险)' " prop="reviewMess" align="center" >
                    <template #default="{row,$index}">
                      <div v-for="(i,index) in row.expectContentMessesX" :key="index">
                        <el-form-item :prop="'expectContentsX.' + '[' + $index + '].' +'expectContentMessesX.' + '[' + index + ']' + '.need'" :rules="state.rules.need">
                          <el-input style="margin-top: 10px" :disabled="title === '查看'" type="textarea" :rows="4" v-model="i.need" placeholder="请输入"></el-input>
                      <div v-for="(i,index) in row.contractReviewMessbs" :key="index">
                        <el-form-item :prop="'reviewMesses.' + '[' + $index + '].' +'contractReviewMessbs.' + '[' + index + ']' + '.reviewMess'" :rules="state.rules.reviewMess">
                          <el-input style="margin-top: 10px" :disabled="title === '查看'" type="textarea" :rows="4" v-model="i.reviewMess" placeholder="请输入"></el-input>
                        </el-form-item>
                      </div>
                    </template>
                  </el-table-column>
                  <el-table-column :label="state.form.type == 1 ? '评审意见' :'变更意见' " prop="need" align="center" width="150">
                  <el-table-column :label="state.form.type == 1 ? '评审意见' :'变更意见' " prop="reviewOpinion" align="center">
                    <template #default="{row,$index}">
                      <div v-for="(i,index) in row.expectContentMessesX" :key="index">
                        <el-form-item :prop="'expectContentsX.' + '[' + $index + '].' +'expectContentMessesX.' + '[' + index + ']' + '.need'" :rules="state.rules.need">
                          <el-input style="margin-top: 10px" :disabled="title === '查看'" type="textarea" :rows="4" v-model="i.need" placeholder="请输入"></el-input>
                      <div v-for="(i,index) in row.contractReviewMessbs" :key="index">
                        <el-form-item :prop="'reviewMesses.' + '[' + $index + '].' +'contractReviewMessbs.' + '[' + index + ']' + '.reviewOpinion'" :rules="state.rules.reviewOpinion">
                          <el-input style="margin-top: 10px" :disabled="title === '查看'" type="textarea" :rows="4" v-model="i.reviewOpinion" placeholder="请输入"></el-input>
                        </el-form-item>
                      </div>
                    </template>
                  </el-table-column>
                  <el-table-column label="签字" prop="need" align="center" width="150">
                  <el-table-column label="签字" prop="reviewSign" align="center" >
                    <template #default="{row,$index}">
                      <div v-for="(i,index) in row.expectContentMessesX" :key="index">
                        <el-form-item :prop="'expectContentsX.' + '[' + $index + '].' +'expectContentMessesX.' + '[' + index + ']' + '.need'" :rules="state.rules.need">
                          <el-input style="margin-top: 10px" :disabled="title === '查看'" type="textarea" :rows="4" v-model="i.need" placeholder="请输入"></el-input>
                      <div v-for="(i,index) in row.contractReviewMessbs" :key="index">
                        <el-form-item :prop="'reviewMesses.' + '[' + $index + '].' +'contractReviewMessbs.' + '[' + index + ']' + '.reviewSign'" :rules="state.rules.reviewSign">
                          <el-input style="margin-top: 10px" :disabled="title === '查看'" type="textarea" :rows="4" v-model="i.reviewSign" placeholder="请输入"></el-input>
                        </el-form-item>
                      </div>
                    </template>
@@ -256,15 +258,15 @@
        </el-row>
        <el-row :gutter="24">
          <el-col :span="24">
            <el-form-item label="审批意见:" prop="expectContents" >
              <el-input  :disabled="title === '查看'" type="textarea" :rows="4"  v-model="state.form.name" placeholder=""></el-input>
            <el-form-item label="审批意见:" prop="suggest" >
              <el-input  :disabled="title === '查看'" type="textarea" :rows="4"  v-model="state.form.suggest" placeholder=""></el-input>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row :gutter="24">
          <el-col :span="12">
            <el-form-item label="法人/委托代理人签字:" prop="expectContents" >
              <el-select clearable v-model="state.form.personId" :disabled="title =='查看'" filterable  style="width: 240px;margin-bottom: 5px">
            <el-form-item label="法人/委托代理人签字:" prop="legalPerson" >
              <el-select clearable v-model="state.form.legalPerson" :disabled="title =='查看'" filterable  style="width: 240px;margin-bottom: 5px">
                <el-option
                    v-for="item in state.peopleList"
                    :key="item.id"
@@ -275,9 +277,10 @@
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="日期:" prop="expectContents" >
            <el-form-item label="日期:" prop="legalTime" >
              <el-date-picker
                  v-model="state.form.fictionTime"
                  :disabled="title =='查看'"
                  v-model="state.form.legalTime"
                  type="date"
                  value-format="YYYY-MM-DD"
                  placeholder="请选择记录日期"
@@ -304,6 +307,10 @@
import {getDept, getObject, getObjectPage} from "@/api/qualityObjectives/object";
import {addTable, editTable, getTargetById} from "@/api/qualityObjectives/table";
import {addNeedDiscren, editNeedDiscren} from "@/api/need/need";
import {addContractReview, editContractReview} from "@/api/contractChange";
import {getCustomer} from "@/api/customerList";
import {getLedger} from "@/api/contractLedger";
import {verifyPhone} from "@/utils/validate";
const dialogVisible = ref(false);
const title = ref("");
@@ -312,33 +319,69 @@
const selectPopperClass = "max-width-select";
const emit = defineEmits(["getList"]);
const dataRef = ref();
const validatePhone = (rule, value, callback)=>{
  if(value === ''){
    callback(new Error('请输入手机号'))
  }else{
    if(!verifyPhone(value)){
      callback(new Error('手机号格式有误'))
    }else{
      callback()
    }
  }
}
const state = reactive({
  form: {
    id: '',
    companyId: null,
    deptId: null,
    year: '',
    fictionId: null,
    checkId: null,
    ratifyId: null,
    fictionTime: null,
    frequency: '',
    expectContents:[],
    expectContentsX: []
    type: null,
    contractId: null,
    recordTime: "",
    registrantId: null,
    customerName: "",
    customerUser: "",
    costomerPhone: "",
    deliveryTime: "",
    deliveryAddr: "",
    deliveryType: "",
    payType: "",
    productMess: "",
    riskMess: "",
    legalPerson: null,
    legalTime: "",
    suggest: '',
    contractReviewRequires: [],
    reviewMesses: []
  },
  rules: {
    companyId: [{ required: true, message: '请选择企业', trigger: 'blur' }],
    deptId: [{ required: true, message: '请选择部门', trigger: 'blur' }],
    year: [{ required: true, message: '请选择年份', trigger: 'blur' }],
    fictionId: [{ required: true, message: '请选择编制人', trigger: 'blur' }],
    ratifyId: [{ required: true, message: '请选择批准人', trigger: 'blur' }],
    checkId: [{ required: true, message: '请选择审核人', trigger: 'blur' }],
    fictionTime: [{ required: true, message: '请选择日期', trigger: 'blur' }],
    frequency: [{ required: true, message: '请输入监测频率', trigger: 'blur' }],
    stakeholder: [{required: true, message: "", trigger: "blur"}],
    expectation: [{required: true, message: "", trigger: "blur"}],
    solutions: [{required: true, message: "", trigger: "blur"}],
    expectContents:[{ required: true, message: '请填写相关方期望或要求识别表', trigger: 'blur' }],
    type: [{ required: true, message: '请选择评审类型', trigger: 'blur' }],
    contractId: [{ required: true, message: '请选择合同', trigger: 'blur' }],
    recordTime: [{ required: true, message: '请选择记录日期', trigger: 'blur' }],
    registrantId: [{ required: true, message: '请选择记录人', trigger: 'blur' }],
    customerName: [{ required: true, message: '请输入顾客名称', trigger: 'blur' }],
    customerUser: [{ required: true, message: '请输入联系人', trigger: 'blur' }],
    costomerPhone: [{ required: true, validator: validatePhone, trigger: 'blur' }],
    deliveryTime: [{ required: true, message: '请选择交货期限', trigger: 'blur' }],
    deliveryAddr: [{ required: true, message: '请输入交货地址', trigger: 'blur' }],
    deliveryType: [{ required: true, message: '请输入交付方式', trigger: 'blur' }],
    payType: [{ required: true, message: '请输入付款方式', trigger: 'blur' }],
    productMess: [{ required: true, message: '请输入产品和服务要求内容', trigger: 'blur' }],
    riskMess: [{ required: true, message: '请输入风险识别', trigger: 'blur' }],
    legalPerson: [{ required: true, message: '请选择法人', trigger: 'blur' }],
    legalTime: [{ required: true, message: '请选择日期', trigger: 'blur' }],
    suggest: [{ required: true, message: '请输入评审意见', trigger: 'blur' }],
    productName: [{required: true, message: "", trigger: "blur"}],
    pecification: [{required: true, message: "", trigger: "blur"}],
    amount: [{required: true, message: "", trigger: "blur"}],
    price: [{required: true, message: "", trigger: "blur"}],
    // remark: [{required: true, message: "", trigger: "blur"}],
    deptName:[{required: true, message: "", trigger: "blur"}],
    reviewMess:[{required: true, message: "", trigger: "blur"}],
    reviewOpinion:[{required: true, message: "", trigger: "blur"}],
    reviewSign:[{required: true, message: "", trigger: "blur"}],
    contractReviewRequires:[{ required: true, message: '请填写顾客明示的要求及用途表', trigger: 'blur' }],
    reviewMesses:[{ required: true, message: '请填写评审/变更内容表', trigger: 'blur' }],
  },
  peopleList: [],
  isAdmin: false,
@@ -379,33 +422,36 @@
      state.form.companyName = value.companyName
    }
  }
  await getDeptList()
  await getContractList()
  await getPeopleList()
  dialogVisible.value = true;
}
const onSubmit = async () => {
  console.log('state.form',state.form)
  const valid = await busRef.value.validate();
  if(valid){
    if(title.value === '新增'){
      // console.log('sta',state.form)
      // const {id, ...data} = JSON.parse(JSON.stringify(state.form))
      // const res = await addNeedDiscren(data)
      // if(res.code === 200){
      //   ElMessage({
      //     type: 'success',
      //     message: '新增成功'
      //   });
      // }else{
      //   ElMessage.warning(res.message)
      // }
      // emit("getList")
      // busRef.value.clearValidate();
      // reset();
      // dialogVisible.value = false;
      console.log('sta',state.form)
      const {id, ...data} = JSON.parse(JSON.stringify(state.form))
      const res = await addContractReview(data)
      if(res.code === 200){
        ElMessage({
          type: 'success',
          message: '新增成功'
        });
      }else{
        ElMessage.warning(res.message)
      }
      emit("getList")
      busRef.value.clearValidate();
      reset();
      dialogVisible.value = false;
    }else if(title.value === '编辑'){
      const {...data} = JSON.parse(JSON.stringify(state.form))
      const res = await editNeedDiscren(data)
      data.reviewMesses.forEach(item => {
        item.reviewId = state.form.id
      })
      const res = await editContractReview(data)
      if(res.code === 200){
        ElMessage({
          type: 'success',
@@ -421,7 +467,7 @@
    }
  }
}
const getDeptList = async () => {
const getContractList = async () => {
  if(state.isAdmin && (state.form.companyId == 0 || state.form.companyId == null)){
    return
  }
@@ -430,9 +476,9 @@
    pageSize: 999,
    companyId: state.form.companyId
  }
  const res = await getDept(param)
  const res = await getLedger(param)
  if(res.code === 200){
    state.deptList = res.data
    state.contractList = res.data.list
  }
}
const getPeopleList = async ()=> {
@@ -462,68 +508,70 @@
  state.form = {
    id: '',
    companyId: null,
    deptId: null,
    year: '',
    fictionId: null,
    checkId: null,
    ratifyId: null,
    fictionTime: null,
    frequency: '',
    expectContents:[],
    type: null,
    contractId: null,
    recordTime: "",
    registrantId: null,
    customerName: "",
    customerUser: "",
    costomerPhone: "",
    deliveryTime: "",
    deliveryAddr: "",
    deliveryType: "",
    payType: "",
    productMess: "",
    riskMess: "",
    legalPerson: null,
    legalTime: "",
    suggest: '',
    contractReviewRequires: [],
    reviewMesses: []
  }
  state.companyList = []
  state.contractList = []
}
const selectValueCom = (val) => {
  state.form.fictionId = null
  state.form.checkId = null
  state.form.ratifyId = null
  state.form.deptId = null
  state.form.contractId = null
  state.form.registrantId = null
  state.form.legalPerson = null
  state.companyList.forEach(item => {
    if(item.name === val){
      state.form.companyId = item.id
    }
  })
  getDeptList()
  getContractList()
  getPeopleList()
}
const addProductTable = () => {
  state.form.expectContents.push({expectContentMesses: [{}]})
  state.form.contractReviewRequires.push({})
}
const addContentTable = () => {
  state.form.expectContentsX.push({expectContentMessesX: [{}]})
  state.form.reviewMesses.push({contractReviewMessbs: [{}]})
}
const addObject = (val,itemIndex) => {
  state.form.expectContentsX.forEach((item,index) => {
  state.form.reviewMesses.forEach((item,index) => {
    if(index == itemIndex){
      item.expectContentMessesX.push({})
      item.contractReviewMessbs.push({})
    }
  })
}
const delProduct = (val,itemIndex) => {
  state.form.expectContents.forEach((item,index) => {
  state.form.contractReviewRequires.forEach((item,index) => {
    if(index == itemIndex){
      if(item.expectContentMesses.length == 1){
        state.form.expectContents.splice(index,1)
      }else {
        item.expectContentMesses.pop()
      }
      state.form.contractReviewRequires.splice(index,1)
    }
  })
}
const delContent = (val,itemIndex) => {
  state.form.expectContentsX.forEach((item,index) => {
  state.form.reviewMesses.forEach((item,index) => {
    if(index == itemIndex){
      if(item.expectContentMessesX.length == 1){
        state.form.expectContentsX.splice(index,1)
      if(item.contractReviewMessbs.length == 1){
        state.form.reviewMesses.splice(index,1)
      }else {
        item.expectContentMessesX.pop()
        item.contractReviewMessbs.pop()
      }
    }
  })