cz 1 سال پیش
والد
کامیت
a65f140972
1فایلهای تغییر یافته به همراه360 افزوده شده و 302 حذف شده
  1. 360 302
      src/views/salesMange/shipmentMange/document/index.vue

+ 360 - 302
src/views/salesMange/shipmentMange/document/index.vue

@@ -2168,273 +2168,285 @@
       v-model="mandateDialog"
       width="1000"
     >
-      <div>
-        <el-button type="primary" @click="textShowOne = !textShowOne"
-          ><span v-show="!textShowOne">切换只读状态</span>
-          <span v-show="textShowOne">切换编辑状态</span></el-button
-        >
-      </div>
-      <div id="mandate" style="padding: 30px">
-        <div class="title">代 理 报 关 委 托 书</div>
-        <div style="text-align: right">
-          <span>编号:</span>
-          <span v-if="textShowOne">{{ mandateData.a }}</span>
-          <el-input
-            style="width: 200px"
-            autosize
-            type="textarea"
-            v-if="!textShowOne"
-            v-model="mandateData.a"
-            size="small"
-          />
-        </div>
-        <div>
-          <span v-if="textShowOne">{{ mandateData.b }}</span>
-          <el-input
-            style="width: 200px"
-            autosize
-            type="textarea"
-            v-if="!textShowOne"
-            v-model="mandateData.b"
-            size="small"
-          />
-          <span v-if="textShowOne">:</span>
-        </div>
-        <div>
-          <span style="padding-left: 2em">我单位现</span>
-          <span v-if="textShowOne">{{ mandateData.c ? "长期" : "逐票" }}</span>
-          <span class="select_height">
+      <div id="pdfDomOne" style="font-family: 'msyh'">
+        <div id="mandate" style="padding: 30px">
+          <div class="title">代 理 报 关 委 托 书</div>
+          <div style="text-align: right">
+            <span>编号:</span>
+            <span v-if="textShowOne">{{ mandateData.code }}</span>
+            <el-input
+              style="width: 200px"
+              autosize
+              placeholder="请输入"
+              type="textarea"
+              v-if="!textShowOne"
+              v-model="mandateData.code"
+              size="small"
+            />
+          </div>
+          <div>
+            <span v-if="textShowOne">{{ mandateData.codeOne }}</span>
+            <el-input
+              style="width: 200px"
+              autosize
+              placeholder="请输入"
+              type="textarea"
+              v-if="!textShowOne"
+              v-model="mandateData.codeOne"
+              size="small"
+            />
+            :
+          </div>
+          <div>
+            <span style="padding-left: 2em">我单位现</span>
+            <span v-if="textShowOne">{{
+              mandateData.type ? "长期" : "逐票"
+            }}</span>
+            <span class="select_height">
+              <el-select
+                v-model="mandateData.type"
+                class="m-2"
+                placeholder="请选择"
+                v-if="!textShowOne"
+              >
+                <el-option label="逐票" value="0" />
+                <el-option label="长期" value="1" />
+              </el-select>
+            </span>
+            委托贵公司代理
+            <span v-if="textShowOne">
+              (<span
+                v-for="(item, index) in mandateData.agentList"
+                :key="index"
+              >
+                {{ showLabelData(item) }}
+                <span v-if="index < mandateData.agentList.length - 1">,</span>
+              </span>
+              )
+            </span>
             <el-select
-              v-model="mandateData.c"
-              class="m-2"
-              placeholder=""
+              v-model="mandateData.agentList"
+              multiple
+              placeholder="请选择"
+              style="width: 240px"
               v-if="!textShowOne"
             >
-              <el-option label="逐票" value="0" />
-              <el-option label="长期" value="1" />
+              <el-option
+                v-for="item in selectData"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value"
+              />
             </el-select>
-          </span>
-          委托贵公司代理
-          <span v-if="textShowOne">
-            〔<span v-for="(item, index) in mandateData.arr" :key="index">
-              {{ showLabelData(item) }}
-              <span v-if="index < mandateData.arr.length - 1">,</span>
-            </span>
-            〕
-          </span>
-          <el-select
-            v-model="mandateData.arr"
-            multiple
-            placeholder=""
-            style="width: 240px"
-            v-if="!textShowOne"
-          >
-            <el-option
-              v-for="item in selectData"
-              :key="item.value"
-              :label="item.label"
-              :value="item.value"
+            等通关事宜。详见《委托报关协议》
+          </div>
+          <div style="text-indent: 2em">
+            我单位保证遵守海关有关法律、法规、规章,保证所提供的情况真实、完整、单货相符,无侵犯他
+            人知识产权的行为。否则,愿承担相关法律责任。
+          </div>
+          <div style="text-indent: 2em">
+            本委托书有效期自签字之日起至<span v-if="textShowOne">{{
+              getChineseDate(mandateData.stopDate)
+            }}</span
+            ><el-date-picker
+              v-model="mandateData.stopDate"
+              type="date"
+              placeholder="请选择"
+              size="default"
+              value-format="YYYY-MM-DD"
+              v-if="!textShowOne"
+            />止。
+          </div>
+          <div style="text-align: right; padding-right: 150px">
+            委托方(盖章)
+          </div>
+          <div style="margin: 20px 0; text-align: right; padding-right: 100px">
+            法定代表人或其授权签署《代理报关委托书》的人(签字)
+          </div>
+          <div style="text-align: right">
+            <span v-if="textShowOne">{{
+              getChineseDate(mandateData.signDate)
+            }}</span>
+            <el-date-picker
+              v-model="mandateData.signDate"
+              type="date"
+              placeholder="请选择"
+              size="default"
+              value-format="YYYY-MM-DD"
+              v-if="!textShowOne"
             />
-          </el-select>
-          等通关事宜。详见《委托报关协议》
-        </div>
-        <div style="text-indent: 2em">
-          我单位保证遵守海关有关法律、法规、规章,保证所提供的情况真实、完整、单货相符,无侵犯他
-          人知识产权的行为。否则,愿承担相关法律责任。
-        </div>
-        <div style="text-indent: 2em">
-          本委托书有效期自签字之日起至<span v-if="textShowOne">{{
-            getChineseDate(mandateData.d)
-          }}</span
-          ><el-date-picker
-            v-model="mandateData.d"
-            type="date"
-            placeholder=""
-            size="default"
-            v-if="!textShowOne"
-          />止。
-        </div>
-        <div style="text-align: right; padding-right: 150px">
-          委托方(盖章)
-        </div>
-        <div style="margin: 20px 0; text-align: right; padding-right: 100px">
-          法定代表人或其授权签署《代理报关委托书》的人(签字)
-        </div>
-        <div style="text-align: right">
-          <span v-if="textShowOne">{{ getChineseDate(mandateData.e) }}</span>
-          <el-date-picker
-            v-model="mandateData.e"
-            type="date"
-            placeholder=""
-            size="default"
-            v-if="!textShowOne"
-          />
-        </div>
-        <div class="title" style="margin-bottom: 10px">委 托 报 关 协 议</div>
-        <div style="text-indent: 2em">
-          为明确委托报关具体事项和各自责任,双方经平等协商签定协议如下:
-        </div>
-        <div style="width: 100%; overflow: hidden">
-          <div style="width: 49%; float: left">
-            <table border="1" style="width: 100%" class="table-mandate">
-              <tr>
-                <td style="width: 33%">委托方</td>
-                <td style="width: 67%">
-                  <span v-if="textShowOne">{{
-                    dictValueLabel(mandateData.f, companyData)
-                  }}</span>
-                  <span class="select_height">
-                    <el-select
-                      v-model="mandateData.f"
-                      class="m-2"
-                      placeholder=""
+          </div>
+          <div class="title" style="margin-bottom: 10px">委 托 报 关 协 议</div>
+          <div style="text-indent: 2em">
+            为明确委托报关具体事项和各自责任,双方经平等协商签定协议如下:
+          </div>
+          <div style="width: 100%; overflow: hidden">
+            <div style="width: 49%; float: left">
+              <table border="1" style="width: 100%" class="table-mandate">
+                <tr>
+                  <td style="width: 33%">委托方</td>
+                  <td style="width: 67%">
+                    <span v-if="textShowOne">{{
+                      dictValueLabel(mandateData.companyId, companyData)
+                    }}</span>
+                    <span class="select_height">
+                      <el-select
+                        v-model="mandateData.companyId"
+                        class="m-2"
+                        placeholder="请选择"
+                        v-if="!textShowOne"
+                        style="height: 26px"
+                      >
+                        <el-option
+                          v-for="item in companyData"
+                          :key="item.value"
+                          :label="item.label"
+                          :value="item.value"
+                        /> </el-select
+                    ></span>
+                  </td>
+                </tr>
+                <tr>
+                  <td>主要货物名称</td>
+                  <td>{{ mandateData.productName }}</td>
+                </tr>
+                <tr>
+                  <td>HS 编码</td>
+                  <td>{{ mandateData.customerCode }}</td>
+                </tr>
+                <tr>
+                  <td>进/出口日期</td>
+                  <td>
+                    <span v-if="textShowOne">{{
+                      getChineseDate(mandateData.importOrExportDate)
+                    }}</span>
+                    <el-date-picker
+                      v-model="mandateData.importOrExportDate"
+                      type="date"
+                      placeholder="请选择"
+                      size="default"
+                      value-format="YYYY-MM-DD"
                       v-if="!textShowOne"
                       style="height: 26px"
-                    >
-                      <el-option
-                        v-for="item in companyData"
-                        :key="item.value"
-                        :label="item.label"
-                        :value="item.value"
-                      /> </el-select
-                  ></span>
-                </td>
-              </tr>
-              <tr>
-                <td>主要货物名称</td>
-                <td></td>
-              </tr>
-              <tr>
-                <td>HS 编码</td>
-                <td></td>
-              </tr>
-              <tr>
-                <td>进/出口日期</td>
-                <td>
-                  <span v-if="textShowOne">{{
-                    getChineseDate(mandateData.g)
-                  }}</span>
-                  <el-date-picker
-                    v-model="mandateData.g"
-                    type="date"
-                    placeholder=""
-                    size="default"
-                    v-if="!textShowOne"
-                    style="height: 26px"
-                  />
-                </td>
-              </tr>
-              <tr>
-                <td>提运单号</td>
-                <td>
-                  <span v-if="textShowOne">{{ mandateData.h }}</span>
-                  <el-input
-                    autosize
-                    type="textarea"
-                    v-if="!textShowOne"
-                    v-model="mandateData.h"
-                    size="small"
-                  />
-                </td>
-              </tr>
-              <tr>
-                <td>贸易方式</td>
-                <td></td>
-              </tr>
-              <tr>
-                <td>数(重)量</td>
-                <td></td>
-              </tr>
-              <tr>
-                <td>包装情况</td>
-                <td>
-                  <span v-if="textShowOne">{{ mandateData.j }}</span>
-                  <el-input
-                    autosize
-                    type="textarea"
-                    v-if="!textShowOne"
-                    v-model="mandateData.j"
-                    size="small"
-                  />
-                </td>
-              </tr>
-              <tr>
-                <td>原产地/货源地</td>
-                <td></td>
-              </tr>
-              <tr>
-                <td></td>
-                <td></td>
-              </tr>
-              <tr>
-                <td colspan="2" style="text-align: left; height: auto">
-                  <span> 其他要求:</span>
-                  <span v-if="textShowOne">{{ mandateData.k }}</span>
-                  <el-input
-                    autosize
-                    type="textarea"
-                    v-if="!textShowOne"
-                    v-model="mandateData.k"
-                    size="small"
-                    :rows="3"
-                    style="width: 82%"
-                  />
-                </td>
-              </tr>
-              <tr>
-                <td colspan="2" style="text-align: left; height: auto">
-                  背面所列通用条款是本协议不可分割的一部分,对本协
-                  议的签署构成了对背面通用条款的同意。
-                </td>
-              </tr>
-              <tr>
-                <td colspan="2" style="text-align: left">
-                  <div style="display: flex">
-                    <div>委托方签章:</div>
-                    <div style="height: 200px"></div>
-                  </div>
-                  <div style="text-align: left">经办人签字:</div>
-                  <div style="display: flex; justify-content: space-between">
-                    <div>联系电话:</div>
-                    <div>年 月 日</div>
-                  </div>
-                </td>
-              </tr>
-            </table>
-          </div>
-          <div style="width: 2%; float: left; opacity: 0">1</div>
-          <div style="width: 49%; float: left">
-            <table border="1" style="width: 100%" class="table-mandate">
-              <tr>
-                <td style="width: 33%">被委托方</td>
-                <td colspan="2">
-                  <span v-if="textShowOne"></span>
-                </td>
-              </tr>
-              <tr>
-                <td>*报关单编码</td>
-                <td colspan="2" style="text-align: left">No.</td>
-              </tr>
-              <tr>
-                <td rowspan="4">收到单证日期</td>
-                <td style="width: 33%">合同</td>
-                <td style="width: 34%">发票</td>
-              </tr>
-              <tr>
-                <td>装箱清单</td>
-                <td>提(运)单</td>
-              </tr>
-              <tr>
-                <td>加工贸易手册</td>
-                <td>许可证件</td>
-              </tr>
-              <tr>
-                <td
-                  colspan="2"
-                  style="text-align: left; height: 144px; vertical-align: top"
-                >
-                  其他
-                  <!-- <el-input
+                    />
+                  </td>
+                </tr>
+                <tr>
+                  <td>提运单号</td>
+                  <td>
+                    <span v-if="textShowOne">{{
+                      mandateData.transportCode
+                    }}</span>
+                    <el-input
+                      autosize
+                      placeholder="请输入"
+                      type="textarea"
+                      v-if="!textShowOne"
+                      v-model="mandateData.transportCode"
+                      size="small"
+                    />
+                  </td>
+                </tr>
+                <tr>
+                  <td>贸易方式</td>
+                  <td>
+                    {{
+                      dictValueLabel(mandateData.trade_methods, tradeMethods)
+                    }}
+                  </td>
+                </tr>
+                <tr>
+                  <td>数(重)量</td>
+                  <td>{{ mandateData.productQuantity }}</td>
+                </tr>
+                <tr>
+                  <td>包装情况</td>
+                  <td>
+                    <span v-if="textShowOne">{{ mandateData.package }}</span>
+                    <el-input
+                      autosize
+                      type="textarea"
+                      placeholder="请输入"
+                      v-if="!textShowOne"
+                      v-model="mandateData.package"
+                      size="small"
+                    />
+                  </td>
+                </tr>
+                <tr>
+                  <td>原产地/货源地</td>
+                  <td>{{ mandateData.transport_method }}</td>
+                </tr>
+                <tr>
+                  <td colspan="2" style="text-align: left; height: auto">
+                    <span> 其他要求:</span>
+                    <span v-if="textShowOne">{{ mandateData.otherAsk }}</span>
+                    <el-input
+                      autosize
+                      placeholder="请输入"
+                      type="textarea"
+                      v-if="!textShowOne"
+                      v-model="mandateData.otherAsk"
+                      size="small"
+                      :rows="3"
+                      style="width: 82%"
+                    />
+                  </td>
+                </tr>
+                <tr>
+                  <td colspan="2" style="text-align: left; height: auto">
+                    背面所列通用条款是本协议不可分割的一部分,对本协
+                    议的签署构成了对背面通用条款的同意。
+                  </td>
+                </tr>
+                <tr>
+                  <td colspan="2" style="text-align: left">
+                    <div style="display: flex">
+                      <div>委托方签章:</div>
+                      <div style="height: 200px"></div>
+                    </div>
+                    <div style="text-align: left">经办人签字:</div>
+                    <div style="display: flex; justify-content: space-between">
+                      <div>联系电话:</div>
+                      <div>年 月 日</div>
+                    </div>
+                  </td>
+                </tr>
+              </table>
+            </div>
+            <div style="width: 2%; float: left; opacity: 0">1</div>
+            <div style="width: 49%; float: left">
+              <table border="1" style="width: 100%" class="table-mandate">
+                <tr>
+                  <td style="width: 33%">被委托方</td>
+                  <td colspan="2">
+                    <span v-if="textShowOne"></span>
+                  </td>
+                </tr>
+                <tr>
+                  <td>*报关单编码</td>
+                  <td colspan="2" style="text-align: left">No.</td>
+                </tr>
+                <tr>
+                  <td rowspan="4">收到单证日期</td>
+                  <td style="width: 33%">合同</td>
+                  <td style="width: 34%">发票</td>
+                </tr>
+                <tr>
+                  <td>装箱清单</td>
+                  <td>提(运)单</td>
+                </tr>
+                <tr>
+                  <td>加工贸易手册</td>
+                  <td>许可证件</td>
+                </tr>
+                <tr>
+                  <td
+                    colspan="2"
+                    style="text-align: left; height: 108px; vertical-align: top"
+                  >
+                    其他
+                    <!-- <el-input
                     autosize
                     type="textarea"
                     v-if="!textShowOne"
@@ -2443,45 +2455,64 @@
                     :rows="3"
                     style="width: 67%"
                   /> -->
-                </td>
-              </tr>
-              <tr>
-                <td>报关收费</td>
-                <td colspan="2" style="text-align: left">
-                  人民币:<span style="float: right; padding-right: 20px"
-                    >元</span
-                  >
-                </td>
-              </tr>
-              <tr>
-                <td colspan="3" style="text-align: left; height: auto">
-                  承诺说明: <span v-if="textShowOne"></span>
-                </td>
-              </tr>
-              <tr>
-                <td colspan="3" style="text-align: left; height: auto">
-                  背面所列通用条款是本协议不可分割的一部分,对本协
-                  议的签署构成了对背面通用条款的同意。
-                </td>
-              </tr>
-              <tr>
-                <td colspan="3" style="text-align: left">
-                  <div style="display: flex">
-                    <div>被委托方签章:</div>
-                    <div style="height: 200px"></div>
-                  </div>
-                  <div style="text-align: left">报关人员签名:</div>
-                  <div style="display: flex; justify-content: space-between">
-                    <div>联系电话:</div>
-                    <div>年 月 日</div>
-                  </div>
-                </td>
-              </tr>
-            </table>
+                  </td>
+                </tr>
+                <tr>
+                  <td>报关收费</td>
+                  <td colspan="2" style="text-align: left">
+                    人民币:<span style="float: right; padding-right: 20px"
+                      >元</span
+                    >
+                  </td>
+                </tr>
+                <tr>
+                  <td colspan="3" style="text-align: left; height: auto">
+                    承诺说明: <span v-if="textShowOne"></span>
+                  </td>
+                </tr>
+                <tr>
+                  <td colspan="3" style="text-align: left; height: auto">
+                    背面所列通用条款是本协议不可分割的一部分,对本协
+                    议的签署构成了对背面通用条款的同意。
+                  </td>
+                </tr>
+                <tr>
+                  <td colspan="3" style="text-align: left">
+                    <div style="display: flex">
+                      <div>被委托方签章:</div>
+                      <div style="height: 200px"></div>
+                    </div>
+                    <div style="text-align: left">报关人员签名:</div>
+                    <div style="display: flex; justify-content: space-between">
+                      <div>联系电话:</div>
+                      <div>年 月 日</div>
+                    </div>
+                  </td>
+                </tr>
+              </table>
+            </div>
           </div>
+          <div style="text-align: right">中国报关协会监制</div>
         </div>
-        <div style="text-align: right">中国报关协会监制</div>
       </div>
+      <template #footer>
+        <el-button @click="openCustomsDeclaration = false" size="large"
+          >取消</el-button
+        >
+        <el-button
+          type="primary"
+          @click="textShowOne = !textShowOne"
+          size="large"
+          ><span v-show="!textShowOne">切换只读状态</span>
+          <span v-show="textShowOne">切换编辑状态</span></el-button
+        >
+        <el-button type="primary" @click="clickDownload()" size="large"
+          >下载PDF</el-button
+        >
+        <el-button type="primary" @click="clickSave()" size="large"
+          >保存</el-button
+        >
+      </template>
     </el-dialog>
   </div>
 </template>
@@ -3160,9 +3191,16 @@ const clickPrint = (status) => {
   } else {
     openStatus.value = status;
     mandateDialog.value = true;
-    proxy.post(`/documentsPdf/detail?id=${rowData.value.id}`).then((res) => {
-      console.log(res, "sada");
-    });
+    proxy
+      .post("/documentsPdf/powerDetail", { id: rowData.value.id })
+      .then((res) => {
+        if (res && res.agentList) {
+          res.agentList = res.agentList.split(",");
+        } else {
+          res.agentList = [];
+        }
+        mandateData.value = res;
+      });
   }
 };
 const clickDownload = () => {
@@ -3185,6 +3223,9 @@ const clickDownload = () => {
         }, 1000);
       });
     }, 1000);
+  } else if (openStatus.value === 5) {
+    textShowOne.value = true;
+    proxy.getPdf("代理报关委托书", 1000, "pdfDomOne");
   }
 };
 const clickSave = () => {
@@ -3204,6 +3245,22 @@ const clickSave = () => {
         type: "success",
       });
     });
+  } else if (openStatus.value === 5) {
+    let content = proxy.deepClone(mandateData.value);
+    content.agentList = content.agentList.join(",");
+    const data = {
+      documentId: rowData.value.id,
+      contractCode: rowData.value.code,
+      dataType: 1,
+      content: JSON.stringify(content),
+    };
+    proxy.post("/documentsPdf/add", data).then((res) => {
+      ElMessage({
+        message: "保存成功",
+        type: "success",
+      });
+      textShowOne.value = true;
+    });
   }
 };
 const getStyle = (text) => {
@@ -3259,9 +3316,10 @@ const printObj = ref({
 
 const getChineseDate = (date) => {
   if (date) {
-    let year = date.getFullYear();
-    let month = date.getMonth() + 1;
-    let day = date.getDate();
+    const newDate = new Date(date);
+    let year = newDate.getFullYear();
+    let month = newDate.getMonth() + 1;
+    let day = newDate.getDate();
     return year + "年" + month + "月" + day + "日 ";
   }
 };